java – replaceAll边界和异常
发布时间:2020-12-15 04:09:17 所属栏目:Java 来源:网络整理
导读:我正在尝试使用replaceAll来消除字符串中的所有空格,但两个区域除外. 如果我的字符串是 AB CD #E F# #GH I# JK L M 然后我希望它输出为 ABCD#E F##GH I#IJKLM 目前,它输出ABCD#EF ## GH#IJKLM而不区分#字符.有没有办法在replaceAll上使用正则表达式? String
我正在尝试使用replaceAll来消除字符串中的所有空格,但两个区域除外.
如果我的字符串是 AB CD #E F# #GH I# JK L M 然后我希望它输出为 ABCD#E F##GH I#IJKLM 目前,它输出ABCD#EF ## GH#IJKLM而不区分#字符.有没有办法在replaceAll上使用正则表达式? String s1 = "AB CD #E F# #GH I# JK L M"; s1 = s1.replaceAll("s+",""); System.out.println(s1); 解决方法
我不擅长正则表达式.我将使用一个循环.
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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |