开发者

String replaceAll method (Java)

I have following problem,

Code:

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

Before removing 'a', result:

Yeahh, I have no开发者_高级运维 a idea what's happening now!

Actual Result: After removing 'a', result:

Yehh, I hve no ide wht's hppening now!

Desired Result:

Yeahh, I have no idea what's happening now!

Anyone can give me some advices to achieve my desired result?


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

You don't need the replaceAll(..) method - it is if you want to use regex, and you don't need it, at least for this example.

If you need this for more complex examples than shown, then use replaceAll(..) and take a look at java.util.regex.Pattern. For example, matching all whitespace characters is done using \s


you should identify the particular "a" to remove try thisa.replace(" a ", " ");


You were asking to replace every 'a', and that is what you got.

Some solutions:

  • replaceAll(" a ", " ") (note the spaces around the 'a')
  • use regex to chek for 'a' surrounded by word barriers (\b if I'm not mistaken)


Try using this:

String str = "Yeahh, I have no a idea what's happening now!";

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


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

Is it just replacing the a in Yeah? or the first a in the string?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜