我试图替换除String中前3个单词之外的所有单词(使用textpad).
防爆值: This is the string for testing.
我想只提取3个单词:This is the
从上面的字符串中删除所有其他单词.
我想出正则表达式匹配3个单词(\w+\s+){3}
但我需要匹配除前3个单词之外的所有其他单词并删除其他单词.有人可以帮我吗?
究竟如何取决于风味,但要消除除前三个词之外的所有内容,您可以使用:
^((?:\S+\s+){2}\S+).*
Run Code Online (Sandbox Code Playgroud)
它捕获前三个单词到捕获组1,以及其余的字符串.对于替换字符串,您使用对捕获组1的引用.在C#中,它可能如下所示:
resultString = Regex.Replace(subjectString, @"^((?:\S+\s+){2}\S+).*", "${1}", RegexOptions.Multiline);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19089 次 |
最近记录: |