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

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

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

aleag greats broa
abro gdert gfherr httowpw
asteruso dgheur graterf

我想要留下的是这个
aleag
abro
asteruso

我该怎么做?要么使用 notepad++,要么使用其他东西。

答案1

我刚刚看了一个參考表,所以可能有更好的方法来做到这一点,但你可以用替换对话框(Ctrl+ H)做这样的事情:

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

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

因为第一个()是“保存”你想要的匹配项,所以你将用它替换文本。如果你点击全部替换

wordpad++ 查找替换

答案2

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

(^.+?)\s.*$

并将其替换为:

\1

与 Louis 的版​​本相比,此版本的优势/不同之处在于,它还将匹配包含非字母数字字符的首词,如Apostrophy'sColons:或。Hyphen-ated

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

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

注意:请确保. matches newline未选中复选框,否则您将只能获得整个文档中的第一个单词。

答案3

由于你不知道用什么语言来编程,你可以在 Excel 中执行此操作

将每一行粘贴到 A 列中。

然后,在 B 列中粘贴

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

在此处输入图片描述

答案4

一个更简单的解决方案是使用.*

只需打开 Notepad++,在搜索和替换中选择正则表达式,输入以下内容,然后单击全部替换:

Find:  .*

请注意,点前面有一个空格,并且替换为空白。

在此处输入图片描述

相关内容