題 如何使用Notepad ++僅保留一行中的第一個單詞


我想在Notepad ++中只保留每行的第一個單詞。舉個例子,請考慮我有這些線的情況

aleag greats broa
abro gdert gfherr httowpw
asteruso dgheur graterf

我想要離開就是這個
aleag
愛寶
asteruso

我該怎麼做呢?使用notepad ++或其他東西。


4
2017-12-17 10:35


起源


Notepad ++允許正則表達式找到匹配[使用CTRL + F]。您可以編寫正則表達式以匹配面部空間字符後的所有內容,並將其替換為空。 - mnmnc


答案:


我只是看了一眼 參考表,所以可能有更好的方法來做到這一點,但你可以使用“替換”對話框執行類似的操作(按Ctrl+H):

([0-9a-zA-Z]*)([0-9a-zA-Z ]*$)
更換\1

我讀它的方式基本上是:
[0-9a-zA-Z] :匹配字母數字字符
*  :繼續匹配它們
[0-9a-zA-Z ]  :匹配字母數字字符或空格
$  :匹配行的結尾
() :“保持”變量中的匹配。首先 () 舉行比賽 \1,第二個 \2 (我們不需要)。




自從第一次 () 是“保持”你想要的比賽,這將是你用文字取代的。如果你點擊,它會為每一行執行此操作 全部替換

wordpad++ find replace


8
2017-12-17 11:20





路易斯建議的類似解決方案是再次使用Notepad ++中的正則表達式搜索,使用搜索參數:

(^.+?)\s.*$

並替換為:

\1

這個版本優於Louis'的優點/區別在於它也會匹配第一個單詞 Apostrophy's 要么 Colons: 要么 Hyphen-ated 哪裡有非字母數字字符。

這匹配從每一行的開頭的所有內容( ^ 符號表示行的開頭)。 它找到至少一個字符(.+? 非貪婪匹配一個或多個字符)一找到空白就停止(\s 是空白/空格)。 然後它繼續匹配行中的其他所有內容(.* 匹配零個或多個字符),直到行尾($ 是行尾)。

\1 然後只保留括號內的部分,I.E。行中第一個空格之前的所有內容。

注:確保 . matches newline 複選框未選中,或者您只能獲得整個文檔中的第一個單詞。


5
2017-12-19 14:07





由於您不知道要編程的任何語言,您可以在Excel中執行此操作

將每一行粘貼到A列中。

然後,在B列中粘貼

=LEFT(A1,SEARCH(" ",A1)-1)

enter image description here


1
2017-12-17 10:49



我不熟悉編程語言先生,所以其他東西意味著我可以下載和使用的任何程序來做我需要做的事情 - Habeeb


更簡單的解決方案是使用“ *。“ 只需打開Notepad ++,在搜索和替換中選擇正則表達式,輸入以下內容然後單擊全部替換:

Find:  .*

請注意,點是前面的空格,替換為空白。

enter image description here


1
2017-12-19 16:02