Emacsで数字を数える

Emacsで数字を数える

たとえば、Emacs で次の長い行を選択したとします。数値 (または NaN) がいくつあるかを知るにはどうすればよいでしょうか?

試してみましたM-x count-wordsが、間違った番号が表示されました。 と表示されています1 line 1135 words and 3565 charactersが、実際には640数字があります

0.967 1.043 1.313 1.598 1.879 2.151 2.421 2.918 3.209 3.478 3.736 3.975 0.917 1.012 1.317 1.607 1.900 2.173 2.437 2.929 3.203 3.473 3.714 3.954 1.081 1.297 1.570 1.753 1.964 2.209 2.456 2.699 2.947 3.196 3.566 3.822 4.050 4.268 4.423 0.950 1.080 1.212 1.343 1.617 1.911 2.219 2.487 2.750 3.213 3.489 3.732 3.957 4.180 0.965 1.074 1.176 1.280 1.381 1.636 1.871 2.108 2.357 2.614 3.080 3.374 3.666 3.943 4.205 0.992 1.151 1.294 1.422 1.527 1.653 1.894 2.094 2.311 2.557 2.820 3.263 3.559 3.849 4.115 4.349 0.895 0.997 1.119 1.215 1.313 1.401 1.649 1.898 2.152 2.411 2.667 3.143 3.446 3.723 3.969 4.207 0.947 1.155 1.369 1.599 1.838 2.094 2.597 2.941 3.265 3.570 3.852 1.120 1.396 1.680 1.970 2.297 2.781 3.075 3.344 3.596 3.835 1.020 1.181 1.335 1.514 1.675 1.868 2.124 2.401 2.719 2.995 3.255 3.617 3.896 4.131 4.309 4.461 0.893 1.003 1.094 1.202 1.464 1.732 2.022 2.289 2.562 3.030 3.338 3.609 3.852 4.095 1.026 1.219 1.403 1.585 1.759 2.041 2.285 2.535 2.796 3.058 3.486 3.754 4.009 4.210 4.394 0.900 1.005 1.127 1.255 1.415 1.715 2.015 2.322 2.622 2.924 3.346 3.624 3.842 4.034 4.212 0.926 1.045 1.143 1.392 1.648 1.905 2.155 2.423 2.912 3.227 3.509 3.767 4.017 0.968 1.154 1.335 1.511 1.655 1.813 1.968 2.188 2.428 2.659 2.932 3.204 3.591 3.878 4.122 4.334 4.506 1.027 1.194 1.315 1.433 1.536 1.699 1.826 2.063 2.352 2.653 2.960 3.187 3.575 3.842 4.058 4.247 4.427 0.963 1.147 1.351 1.539 1.679 1.883 2.070 2.279 2.551 2.828 3.234 3.564 3.886 4.150 4.315 0.966 1.141 1.294 1.446 1.596 1.857 2.156 2.413 2.669 2.879 3.307 3.592 3.828 4.064 4.300 0.924 1.163 1.428 1.712 1.992 2.291 2.778 3.103 3.397 3.659 3.893 0.896 1.008 1.109 1.196 1.296 1.532 1.781 2.038 2.301 2.574 3.059 3.354 3.630 3.893 4.144 0.930 1.063 1.330 1.580 1.865 2.160 2.439 2.912 3.221 3.520 3.784 3.988 0.954 1.079 1.205 1.282 1.465 1.676 1.908 2.160 2.411 2.881 3.246 3.554 3.831 4.081 0.905 0.972 1.040 1.287 1.541 1.802 2.080 2.384 2.876 3.183 3.471 3.730 3.969 1.045 1.235 1.398 1.583 1.758 2.048 2.294 2.522 2.763 3.009 3.417 3.689 3.941 4.184 4.411 0.964 1.075 1.186 1.291 1.525 1.782 2.063 2.347 2.606 3.079 3.394 3.661 3.899 4.131 0.957 1.118 1.276 1.404 1.611 1.848 2.118 2.406 2.680 3.129 3.465 3.764 3.997 4.192 0.982 1.114 1.263 1.527 1.800 2.084 2.382 2.680 3.137 3.429 3.688 3.917 4.127 0.982 1.054 1.133 1.189 1.243 1.327 1.568 1.822 2.075 2.351 2.629 3.086 3.386 3.667 3.922 4.153 0.965 1.098 1.238 1.399 1.503 1.591 1.670 1.895 2.128 2.371 2.622 2.886 3.341 3.634 3.897 4.126 4.338 0.915 1.050 1.183 1.300 1.443 1.558 1.825 2.069 2.348 2.641 2.916 3.360 3.634 3.893 4.109 4.308 1.025 1.187 1.363 1.512 1.657 1.806 2.085 2.346 2.595 2.846 3.091 3.500 3.755 3.999 4.232 4.454 1.065 1.231 1.400 1.560 1.717 1.870 1.984 2.198 2.427 2.655 2.896 3.110 3.524 3.813 4.060 4.287 4.501 0.895 0.991 1.089 1.183 1.302 1.409 1.666 1.926 2.168 2.434 2.700 3.148 3.438 3.718 3.988 4.230 1.027 1.169 1.348 1.439 1.581 1.788 1.992 2.272 2.564 2.977 3.327 3.601 3.871 4.052 4.181 4.181 4.181 6235366411468800.000 ナン ...ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン ナン

答え1

この問題に対する私の単純なアプローチは、 を使用してcount-matchesレコード区切り文字を数え、1 を追加することです。区切り文字がスペースであると仮定して、行を選択して と入力しますM-x count-matches <RET><space><RET>。区切り文字を数える代わりに、 に次の正規表現を入力するとcount-matches、データで機能しますが、入力が面倒になります: \b-?[0-9]+\.[0-9]+\b\|\bNaN\b。サンプル データには負のデータは表示されませんが、負のデータが表示される場合に備えて、正規表現にオプションの「-」を含めました。

答え2

おそらく、正規表現としてcount-matcheswith を使用できるでしょう。\.

関連情報