使用正则表达式,我想解析像“DOCID = 1234567 THIS IS TEST”之类的字符串,并在数字后删除剩余的字符串。
如何使用VIM编辑器执行此操作?
答案 0 :(得分:4)
Perl:
$str =~ s/(= \d+).*$/$1/;
在php中:
$str = preg_replace('/(= \d+).*$/', "$1", $str);
答案 1 :(得分:2)
那将完成这项工作:
:%s/\d\+\zs.*
说明:
%
使用整个缓冲区,如果只想更改当前行,可以省略它s
替代命令\d\+
匹配尽可能多的数字\zs
设置匹配的开始.*
其他一切答案 2 :(得分:1)
在VIM中,在命令模式下(按ESC),写:
:s/\([^0-9]\+[0-9]\+\).*/\1/
这将完成这项工作。 如果您想进行所有替换,那么:
:s/\([^0-9]\+[0-9]\+\).*/\1/g
答案 3 :(得分:0)
在java string.replaceFirst("(= \\d+).*$","\\1");