Java – replaceall boundaries and exceptions
•
Java
I'm trying to use replaceall to eliminate all spaces in the string, except two areas
If my string is
AB CD #E F# #GH I# JK L M
Then I want it to output as
ABCD#E F##GH I#IJKLM
At present, it outputs ABCD #ef ## GH #ijklm without distinguishing # characters Is there any way to use regular expressions on replaceall?
String s1 = "AB CD #E F# #GH I# JK L M"; s1 = s1.replaceAll("\\s+",""); System.out.println(s1);
Solution
I'm not good at regular expressions I'll use a loop
String s1 = "AB CD #E F# #GH I# JK L M"; StringBuilder sb = new StringBuilder(); boolean keepSpace = false; for(int i = 0; i < s1.length; i++){ char c = s1.charAt(i); if(keepSpace || c != ' ') sb.append(c); if(c == '#') keepSpace = !keepSpace; } s1 = sb.toString(); System.out.println(s1);
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码