String replaceAll方法(Java)

时间:2010-03-22 11:54:36

标签: java string

我有以下问题,

代码:

String a="Yeahh, I have no a idea what's happening now!";
System.out.println(a);
a=a.replaceAll("a", "");
System.out.println(a);

在删除'a'之前,结果:

  

是的,我不知道现在发生了什么!

实际结果: 删除'a'后,结果:

  

是的,我现在没有想法了!

期望的结果:

  是的,我不知道现在发生了什么!

任何人都可以给我一些建议来达到我想要的结果吗?

5 个答案:

答案 0 :(得分:8)

a = a.replace(" a ", " ");

您不需要replaceAll(..)方法 - 如果您想使用正则表达式,并且您不需要它,至少在此示例中。

如果您需要更多复杂的示例,请使用replaceAll(..)并查看java.util.regex.Pattern。例如,匹配所有空格字符是使用\s

完成的

答案 1 :(得分:2)

你应该识别要删除的特定“a” 试试这个a.replace(" a ", " ");

答案 2 :(得分:1)

你要求更换每一个'a',这就是你得到的。

一些解决方案:

  • replaceAll(“a”,“”)(注意'a'周围的空格)
  • 使用正则表达式来搜索被字障碍包围的'a'(\ b,如果我没有记错的话)

答案 3 :(得分:0)

尝试使用:

String str ="是的,我不知道现在发生了什么!&#34 ;;

String newStr = str.replaceAll(" a","");

答案 4 :(得分:-2)

a.replace("Yeahh", "Yehh");

它只是取代了是吗?或者字符串中的第一个?