问下,一段字符串,在java中如何用正则替换字符串?替换前:String s="1、flskfls;kf;slkf;ls2、kjfldkjlfkslfkjls3、lfkslkjflksjlklkjl";替换后:
String s1="<ol><em>1、</em><span>flskfls;kf;slkf;</span></ol><ol><em>2、</em><span>kjfldkjlfkslfkjls</span></ol><ol><em>3、</em><span>lfkslkjflksjlklkjl</span></ol>";
java字符串正则表达式

解决方案 »

  1.   

    规律是不是就是"0-9+、"?
    这样
    str.replaceAll([0-9]{1}+"、");可以么?
    Java code不需要的时候就别用了,要不都一行,不好看。
      

  2.   

    用边界匹配比较好
    String s1=s.replaceAll("([0-9]+、)(.*?)(?=[0-9]+、|$)", "<ol><em>$1</em><span>$2</span></ol>");
      

  3.   

    刚才仔细看了一下
    还真是一楼说的,规律这也太难了。。
    1、  转成:<ol><em>1、</em><span>
    ls2、转成:<ol><em>2、</em><span>
    ls3、转成:ls<ol><em>3、</em><span>
      

  4.   

    我弱弱的问一句 ..        ls2、前面的ls不要?