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?
5 Answers 5
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
Comments
you should identify the particular "a" to remove
try thisa.replace(" a ", " ");
Comments
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)
Comments
Try using this:
String str = "Yeahh, I have no a idea what's happening now!";
String newStr = str.replaceAll(" a ", " ");
Comments
a.replace("Yeahh", "Yehh");
Is it just replacing the a in Yeah? or the first a in the string?