文章的显示时,只有一断文字的开头的空格需要替换,每个空格替换为 ,而文字中间的空格不替换。
下面是一位正则大师提供的解决方案,拿出来和大家共享。String str = "   酷  流行";
System.out.println(str.replaceAll("(?m)(?<=^ *) ", "&nbsp;"));
替换结果
&nbsp;&nbsp;&nbsp;酷  流行大家还有什么好的方案,欢迎留下来和大家分享。

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【java2000_net】截止到2008-08-03 15:37:41的历史汇总数据(不包括此帖):
    发帖的总数量:197                      发帖的总分数:24798                    每贴平均分数:125                      
    回帖的总数量:9510                     得分贴总数量:4661                     回帖的得分率:49%                      
    结贴的总数量:197                      结贴的总分数:24798                    
    无满意结贴数:8                        无满意结贴分:13                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:4.06  %               无满意结分率:0.05  %                  
    敬礼!

    取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=java2000_net
      

  2.   

    解释:
    ?m 匹配多行
    ?<= 代表后面字符的前面必须出现的条件
    ^ * 代表必须是开头,且有任意个空格
    最后的空格就没啥说的了。最终的解释就是,
    一行的开头,前面有任意个空格的空格被替换为&nbsp;
      

  3.   

    文章的显示时,只有一断文字的开头的空格需要替换,每个空格替换为&nbsp;?????
    有道理吗????
      

  4.   

    一断文字长度m
    去掉文字前的空格后长度n
    文字前增加m-n个&nbsp;