たとえば、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-matches
with を使用できるでしょう。\.