如何使用 Notepad++ 只保留一行中的第一个单词

Hab*_*eeb 5 notepad++

我想只保留 Notepad ++ 中每行的第一个单词。例如,请考虑我有这些行的情况

aleag 伟人
broa abro
gdert gfherr httowpw asteruso dgheur graterf

想我想离开是这样的
aleag
ABRO
asteruso

我该怎么做呢?使用记事本++或其他东西。

Lou*_*eru 8

我只看了参考表,所以可能有更好的方法来做到这一点,但您可以使用“替换”对话框 ( Ctrl+ H)执行类似操作:

查找([0-9a-zA-Z]*)([0-9a-zA-Z ]*$)
替换\1

我阅读它的方式基本上是
[0-9a-zA-Z]::匹配一个字母数字字符
* :保持匹配它们
[0-9a-zA-Z ] :匹配一个字母数字字符或空格
$ :匹配行尾
():“保留”一个变量中的匹配项。第()一个在 中保持匹配\1,第二个在\2(我们不需要)中。

由于第一个()是“保持”您想要的匹配,这将是您替换文本的内容。如果您点击Replace All ,它会为每一行执行此操作。

写字板++查找替换


Tim*_*ffe 7

与 Louis 建议的解决方案类似的解决方案是再次在 Notepad++ 中使用正则表达式搜索,并使用搜索参数:

(^.+?)\s.*$
Run Code Online (Sandbox Code Playgroud)

并替换为:

\1
Run Code Online (Sandbox Code Playgroud)

此版本与 Louis 版本的优势/不同之处在于,它还将匹配第一个单词,例如Apostrophy'sColons:Hyphen-ated其中有非字母数字字符的地方。

这匹配每行开头的所有内容(^符号表示行首)。它找到至少一个字符(.+?非贪婪匹配一个或多个字符),一旦找到空格(\s是空格/空格)就停止。然后它继续匹配行中的所有其他内容(.*匹配零个或多个字符),直到行尾($是行尾)。

然后\1将只保持括号内匹配的部分,即行中第一个空格之前的所有内容。

注意确保未. matches newline选中该复选框,否则您只会得到整个文档中的第一个单词。


Dav*_*ave 2

由于您不知道任何编程语言,因此您可以在 Excel 中执行此操作

将每一行粘贴到 A 列中。

然后,在 B 列中粘贴

=LEFT(A1,SEARCH(" ",A1)-1)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述