0

我想将任何字符串格式化为逗号分隔格式。基本上,除单个空格外的任何空格组合(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 \nb \n c”)外,它工作得很好。知道如何解决吗?谢谢!

4

2 回答 2

4

为什么不简单地这样做

text.replaceAll("\\t|\\n|\\x0B|\\f|\\r| {2,}", ", ");

\s类似于[ \t\n\x0B\f\r]

于 2013-06-20T14:27:49.257 回答
0

感谢 Anirudh 让我走上正轨!我想到了:

text.replaceAll("\\t|\\n|\\x0B|\\f|\\r|\\s{2,}", ", ");
于 2013-11-29T18:32:20.887 回答