删除特定子字符串后的单词

时间:2014-08-22 10:44:11

标签: java regex string

我有一个像这样的字符串:

"embed Test1 embed Test2 Test2.name = Foo;"

现在,我想删除"嵌入"以及以下单词。 在这种情况下,"嵌入Test1"和"嵌入Test2"

我的问题是,我不知道,"嵌入"多少次?会发生。

最终结果应如下所示:

"Test2.name = "Foo";"

感谢您的帮助

6 个答案:

答案 0 :(得分:2)

试试这个:

String input= "embed Test1 embed Test2 Test2.name = Foo;";
String output= input.replaceAll("embed \\w+","").trim();
System.out.println(output);

它删除以嵌入开头的所有内容,后跟空格,后跟下一个单词。然后它删除String前后的空格,如果你不想删除空格然后删除 trim()函数

答案 1 :(得分:1)

在replaceAll:

中应用此正则表达式
 str = str.replaceAll( "embed\\s+\\w+\\s*", "" );

答案 2 :(得分:0)

尝试使用String.replaceAll(String regex,String replacement)

将此字符串中与给定正则表达式匹配的每个子字符串替换为给定的替换。

答案 3 :(得分:0)

使用replaceAll函数以及一个正则表达式,它将删除所有嵌入字符串,并在其旁边显示任何单词字符(\ w):

  

String message =“embed Test1 embed Test2 Test2.name = Foo”;     message = message.replaceAll(“embed \ w +”,“”);

答案 4 :(得分:0)

  (?:embed\s*(?:\S+)\s*)+(.*?)(.*)

抓住第二组。参见demo.This将删除嵌入后的所有匹配项及其后的单词。

http://regex101.com/r/uR2aE4/2

答案 5 :(得分:0)

试试下面的正则表达式

模式

/(embed\s\w+\s)/g

替换:

''

Demo