java如何使用正则表达式替换N个空格

时间:2015-01-30 23:24:00

标签: java regex

我喜欢在网页中很好地显示文本(在textArea中输入文本)。所以需要

    1. change linebreaker \n to <br/>
    2. keep indentation: 
             replace 2 spaces with one space and &nbsp; 
             replace 3 spaces with one space and 2 &nbsp; 
             replace 4 spaces with one space and 3 &nbsp; 
             replace N spaces with one space and N-1 &nbsp;

有没有办法在JAVA中使用正则表达式替换空格? 感谢。

2 个答案:

答案 0 :(得分:1)

下划线代表空格:
查找:(?<=_)_
替换:&nbsp;

如果您必须坚持使用正则表达式,positive lookbehind就是您正在寻找的。
基本上,这将匹配另一个空间后面的每个空间。

答案 1 :(得分:0)

这可以帮到你:

String oldString="";
String newString = oldString.replaceAll("\n", "<br />").replaceAll("(?<= ) ", "&nbsp;");