Java中如何移除逗号前后空格?正则使用无效且遇输入不匹配错误
Java移除逗号前后空格的正则问题解决办法
正则语法错误是核心问题:Java字符串中表示正则的转义符需要用双反斜杠
\\,你写的//s*,//s*会被当作普通字符处理,根本无法匹配空格。正确的正则表达式应该是\\s*,\\s*,其中\\s*负责匹配任意数量(包括0个)的空白字符(空格、制表符等)。修正后的代码示例:
String input = "hello , world , foo , bar"; String processed = input.replaceAll("\\s*,\\s*", ","); System.out.println(processed); // 输出: "hello,world,foo,bar"
- 输入不匹配错误的处理:如果之前抛出输入不匹配异常,本质是正则语法非法导致的,修正正则后即可解决。如果仍有问题,考虑输入中存在Unicode特殊空白字符的情况,可改用更全面的空白匹配规则:
// 匹配所有Unicode空白类型 String processed = input.replaceAll("\\p{Space}*,\\p{Space}*", ",");
内容的提问来源于stack exchange,提问作者unknown
相关产品推荐
相关产品推荐

