正則表達(dá)式 - Java:字符串替換帶序號(hào)
問題描述
原文本:
片仔癀(<span label='粉色背景' >603567</span>.SH)、天士力(<span label='綠色背景' >600535</span>.SH)、片仔癀(<span label='粉色背景' >603567</span>.SH)和昆藥集團(tuán)(<span label='金色背景' >600422</span>.SH)等。
替換成:
片仔癀(<span label='粉色背景' ><a link='http://#link?index=1'>603567</a></span>.SH)、天士力(<span label='綠色背景' ><a link='http://#link?index=2'>600535</a></span>.SH)、片仔癀(<span label='粉色背景' ><a link='http://#link?index=3'>603567</a></span>.SH)和昆藥集團(tuán)(<span label='金色背景' ><a link='http://#link?index=4'>600422</a></span>.SH)等。
現(xiàn)利用正則表達(dá)式可以替換到目標(biāo)文本,就是序號(hào)那一塊無法完成(無法循環(huán))
Pattern pattern = Pattern.compile('(<span.*?label='(*色背景)'.*?>)(.*?)(</span>)');Matcher matcher = pattern.matcher(str);int i=0;while (matcher.find()) { System.out.println(matcher.replaceAll(matcher.group(1) + '<a link='http://#link?index='+i+''>' + matcher.group(3) + '</a>' + matcher.group(4))); i++;}
問題解答
回答1:你的代碼里面問題太多了
String str='片仔癀(<span label='粉色背景' >603567</span>.SH)、'+'天士力(<span label='綠色背景' >600535</span>.SH)、'+'片仔癀(<span label='粉色背景' >603567</span>.SH)'+'和昆藥集團(tuán)(<span label='金色背景' >600422</span>.SH)等。';String patternStr='(<spans+label='.色背景's*>)(d+)';Pattern pattern = Pattern.compile(patternStr);Matcher matcher = pattern.matcher(str);String strResult=str;int i=0;while (matcher.find()) { i++; String replaceTo=matcher.group(1)+ '<a link='http://#link?index='+i +''>'+matcher.group(2)+'</a>'; strResult=strResult.replaceFirst(patternStr, replaceTo);}System.out.println(strResult);/* 輸出:片仔癀(<span label='粉色背景' ><a link='http://#link?index=1'>603567</a></span>.SH)、天士力(<span label='綠色背景' ><a link='http://#link?index=2'>600535</a></span>.SH)、片仔癀(<span label='粉色背景' ><a link='http://#link?index=3'>603567</a></span>.SH)和昆藥集團(tuán)(<span label='金色背景' ><a link='http://#link?index=4'>600422</a></span>.SH)等。 * */
還有 a 標(biāo)簽是不是沒有結(jié)束啊
回答2:參考這個(gè):https://stackoverflow.com/que...
試著把replaceAll換成replaceFirst,每次只替換第一個(gè),然后累加i。
回答3:a標(biāo)簽里面'改成’,試試
相關(guān)文章:
1. javascript - ionic1的插件如何遷移到ionic2的項(xiàng)目中2. python小白 自學(xué)看書遇到看不懂的地方3. javascript - immutable配合react提升性能?4. javascript - 在vue項(xiàng)目中遇到的問題:DOMException5. shell - mysql更新錯(cuò)誤6. php對(duì)mysql提取數(shù)據(jù)那種速度更快7. javascript - vue中使用prop傳遞數(shù)據(jù)問題8. python - 在github上看到一個(gè)基于卷積神經(jīng)網(wǎng)絡(luò)提高圖片分辨率的小項(xiàng)目waifu2x??9. 如何設(shè)置一個(gè)無限循環(huán)并打破它。(Java線程)10. 網(wǎng)頁(yè)爬蟲 - 如何使用使用java抓取信息并制作一個(gè)排名系統(tǒng)?

網(wǎng)公網(wǎng)安備