我想将任何字符串格式化为逗号分隔格式。基本上,除了单个空格之外,任何空格组合(1个或更多)都应该用“,”替换。
这是我目前的方法:
private String formatCommaDelimiter(String text) {
text = text.trim();
text = text.replaceAll("(\\S)( +|( *[\\t\\n\\x0B\\f\\r]+ *)+)(\\S)", "$1, $4");
text = text.replaceAll(",+", ",");
return text;
}
除了单个字符(例如“a \ n b \ n c”)之外,它的工作正常。知道怎么解决吗?谢谢!
答案 0 :(得分:4)
为什么不简单地这样做
text.replaceAll("\\t|\\n|\\x0B|\\f|\\r| {2,}", ", ");
\s
与[ \t\n\x0B\f\r]
答案 1 :(得分:0)
感谢Anirudh让我走上正轨! 我弄清楚了:
text.replaceAll("\\t|\\n|\\x0B|\\f|\\r|\\s{2,}", ", ");