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?
精彩评论