Допустим, у меня в 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 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
решение1
Мой нехитрый подход к этой проблеме заключается в использовании count-matches
для подсчета разделителей записей, а затем добавлении одного. Предполагая, что ваш разделитель — пробел, выберите строку и введите M-x count-matches <RET><space><RET>
. Вместо подсчета разделителей, предоставление следующего регулярного выражения для count-matches
работает с вашими данными, но его более утомительно вводить: \b-?[0-9]+\.[0-9]+\b\|\bNaN\b
. В ваших данных примера нет никаких отрицательных данных, но я включил необязательный '-' в регулярное выражение на всякий случай.
решение2
Возможно, вы можете использовать count-matches
with \.
в качестве регулярного выражения.