Java-使用replaceAll而不获取空间

Java-使用replaceAll而不获取空间,java,string,Java,String,我在使用“全部替换”时遇到问题,它会添加一个空格,而不是替换的单词。一个简单的例子: String str= "I like java"; str.replaceAll("java",""); 给出“我喜欢(这里有一个空间)” 给出“I(此处2个空格)java” 像java一样提供“(此处2个空格) 如何仅使用replaceAll截断此空间?我想这和替换参数(“”)有关,对吗 注意:我有几个单词,如果在字符串中找到,应该删除,但我不知道在哪里可以找到它们 谢谢您将“java”替换为“”,保留

我在使用“全部替换”时遇到问题,它会添加一个空格,而不是替换的单词。一个简单的例子:

String str= "I like java"; 
str.replaceAll("java","");
给出“我喜欢(这里有一个空间)”

给出“I(此处2个空格)java”

像java一样提供“(此处2个空格)

如何仅使用replaceAll截断此空间?我想这和替换参数(“”)有关,对吗

注意:我有几个单词,如果在字符串中找到,应该删除,但我不知道在哪里可以找到它们

谢谢

您将“java”替换为“”,保留字符串中原来的两个空格,而不是替换“java”(注意空格)。但是,这会有用的

String str= "I like java"; 
str = str.replaceAll(" java","");
如果您希望只替换该单词周围的一个空格,并首选第一个空格,您可以这样做

String regex = " like|like ";
System.out.println("I like java".replaceAll(regex,""));
System.out.println("like java".replaceAll(regex,""));

好吧,既然
“java”
“like”
太明显了,我们最好等一个更特殊的方法来做:D.顺便说一句,你应该使用
替换
,而不是
替换所有的
。你是在替换单词,而不是空格+单词,它正在发挥作用expected@Tom没有办法摆脱额外的空间?当然有,我已经展示了一个。@Tom它解决了这个特殊的问题,但是如果我需要在乞讨时替换“我”怎么办?记住-我不知道在哪里可以找到替换的单词。我需要一个通用的解决方案。有什么想法吗?它解决了那个特殊的问题,但是如果我想在乞讨时替换“我”呢?记住-我不知道在哪里可以找到替换的单词。我需要一个通用的解决方案。有什么想法吗?我回答了你的问题,因为你直到现在才提供这些细节。你必须要比想要一个“一般解决方案”更具体。对,我知道,这就是为什么我纠正了这一点。知道吗?不知道,因为我不知道你说的通用解决方案是什么意思。replaceAll()采用正则表达式,因此天空是极限。如果您希望只替换该单词周围的一个空格,并首选第一个空格,您可以这样做。。。String regex=“like | like”;System.out.println(“我喜欢java.replaceAll(regex)”);System.out.println(“像java.replaceAll(regex)”);
String str= "I like java"; 
str = str.replaceAll(" java","");
String regex = " like|like ";
System.out.println("I like java".replaceAll(regex,""));
System.out.println("like java".replaceAll(regex,""));