Angenommen, ich habe die folgende lange Zeile in Emacs ausgewählt. Wie kann ich zählen, wie viele Zahlen (oder NaN) ich habe?
Ich habe es versucht M-x count-words
, aber es ergibt die falsche Nummer. Es heißt 1 line 1135 words and 3565 characters
, aber es enthält tatsächlich 640
Zahlen
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 NaN NaN
Antwort1
Meine einfache Herangehensweise an dieses Problem besteht darin, count-matches
die Datensatztrennzeichen zu zählen und dann eins hinzuzufügen. Angenommen, Ihr Trennzeichen ist ein Leerzeichen, wählen Sie die Zeile aus und geben Sie ein M-x count-matches <RET><space><RET>
. Anstatt Trennzeichen zu zählen, count-matches
funktioniert die Eingabe des folgenden regulären Ausdrucks mit Ihren Daten, ist aber mühsamer einzugeben: \b-?[0-9]+\.[0-9]+\b\|\bNaN\b
. Ihre Beispieldaten zeigen keine negativen Daten, aber ich habe für den Fall, dass dies der Fall ist, das optionale „-“ in den regulären Ausdruck aufgenommen.
Antwort2
Vielleicht können Sie count-matches
„mit“ \.
als regulären Ausdruck verwenden.