使用什么正则表达式删除除每行第一个单词之外的所有内容:
数据:
JAMES 3.318 3.318 1
JOHN 3.271 6.589 2
ROBERT 3.143 9.732 3
我正在尝试在Notepad ++中将其作为替换。
答案 0 :(得分:2)
用perl表示法:
s/^(\w+).*$/$1/
答案 1 :(得分:2)
取决于您正在使用的正则表达式实现。
正则表达式^[A-Za-z_]+
将捕获一行中的第一个单词。因此,如果您的实施允许,您可以捕获第一个单词并打印出来并且您很高兴。
如果您需要使用替代品,则可以将^([A-Za-z_]+).*
替换为\1
例如,在vi中,您将使用命令:%s/^\([A-Za-z_]+\).*/\1/
答案 2 :(得分:1)
您可以将^(\s*\w+)\s+.*$
替换为\1
,它会保留第一个字并删除该行的其余部分。
答案 3 :(得分:1)
我知道,这篇帖子已经有几年了......;) 无论如何:
假设一个单词是任何字符序列,后跟空格:
正则表达式将是:
/\s.*/g
在vi中,您将使用以下命令“删除”第一个单词后面的任何行的其余部分:
:%s/\s.*//g