将任何字符串格式化为逗号分隔

时间:2013-06-20 14:25:20

标签: java regex

我想将任何字符串格式化为逗号分隔格式。基本上,除了单个空格之外,任何空格组合(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”)之外,它的工作正常。知道怎么解决吗?谢谢!

2 个答案:

答案 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,}", ", ");