久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java Matcher匹配頭尾截取替換字符串的案例

瀏覽:2日期:2022-08-20 08:45:49

在java 編程中,我們常常有這樣的需求:需要將一段字符串內(nèi)的特定字符串,按照一定規(guī)則查找出來(lái)或替換,比如匹配文本開(kāi)頭規(guī)則和結(jié)束規(guī)則。

以下就是Matcher的使用:

import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern; /** * @Author changle * @Time 17/10/12. * @Desc 匹配頭尾截取替換字符串 * 待替換內(nèi)容: * url: jdbc:mysql://${cot.identity.db.ip}:3306/${cot.identity.db.dbname}?useUnicode=true&characterEncoding=UTF8 * 替換后: * url: jdbc:mysql://{{cot.identity.db.ip}}:3306/{{cot.identity.db.dbname}}?useUnicode=true&characterEncoding=UTF8 */public class CommonTest { public static void main(String[] args) { String str = 'url: jdbc:mysql://${cot.identity.db.ip}:3306/${cot.identity.db.dbname}?useUnicode=true&characterEncoding=UTF8'; if (str.contains('${cot.')) { Pattern leftpattern = Pattern.compile('${'); Matcher leftmatcher = leftpattern.matcher(str); Pattern rightpattern = Pattern.compile('}'); Matcher rightmatcher = rightpattern.matcher(str); int begin = 0; List<String> foundKeys = new ArrayList<>(); while (leftmatcher.find(begin)) {rightmatcher.find(leftmatcher.start());String configKey = str.substring(leftmatcher.start(), rightmatcher.end());System.out.println(configKey.replace('${', '{{'));foundKeys.add(configKey);begin = rightmatcher.end(); } System.out.println('原內(nèi)容:'+str); for (String foundkey : foundKeys){str = str.replace(foundkey, foundkey.replace('${cot.','{{cot.').replace('}', '}}').replace('-','_')); } System.out.println('替換后:'+str); } }}

補(bǔ)充知識(shí):JAVA正則表達(dá)式 Pattern和Matcher,用正則替換對(duì)應(yīng)的內(nèi)容

需求:

過(guò)濾樣式,比如:

<p><span style='font-size: larger'>鉛筆機(jī)一個(gè)</span></p>

過(guò)濾后結(jié)果= 鉛筆機(jī)一個(gè)

public static void main(String[] args) { String skuName='<p><span style=’font-size: larger’>鉛筆機(jī)一個(gè)</span></p>'; // 生成一個(gè)Pattern,同時(shí)編譯一個(gè)正則表達(dá)式 Pattern pattern = Pattern.compile('<(.[^>]*)>'); //匹配字符串 Matcher matcher = pattern.matcher(skuName); //把符合正則的數(shù)據(jù)替換成'' skuName=matcher.replaceAll(''); System.out.println('替換以后結(jié)果=====》'+skuName);}

輸出結(jié)果:

替換以后結(jié)果=====》鉛筆機(jī)一個(gè)

說(shuō)明:

1.Pattern類(lèi)用于創(chuàng)建一個(gè)正則表達(dá)式,也可以說(shuō)創(chuàng)建一個(gè)匹配模式,它的構(gòu)造方法是私有的,不可以直接創(chuàng)建,但可以通過(guò)Pattern.complie(String regex)簡(jiǎn)單工廠(chǎng)方法創(chuàng)建一個(gè)正則表達(dá)式。

2.Pattern.matcher(String regex,CharSequence input)是一個(gè)靜態(tài)方法,用于快速匹配字符串,該方法適合用于只匹配一次,且匹配全部字符串。

以上這篇java Matcher匹配頭尾截取替換字符串的案例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 日韩精品| 免费在线观看毛片网站 | 91色在线观看 | 国产欧美综合一区二区三区 | 中国国产一级毛片 | 国产成人精品一区二区三区在线 | 中文字幕二区 | 91久久久久久久久久久久久久久久 | 精品视频一区二区在线观看 | 成人在线网 | 亚洲天堂一区二区 | 久久久精品国产 | 国产成人片 | 中文字幕八区 | 日韩电影a | 欧美a级成人淫片免费看 | 国产欧美综合一区二区三区 | 国产精品永久久久久久久久久 | 欧美日本亚洲 | 成人一级毛片 | 午夜视频在线观看网站 | 国产www网站| 亚洲丶国产丶欧美一区二区三区 | 欧美在线观看一区二区 | 午夜寂寞少妇aaa片毛片 | 一区二区三区四区久久 | 久久精品国产亚洲一区二区三区 | 青青草国产在线 | 久久精品综合 | 国产精品美女久久久久aⅴ国产馆 | 中文字幕亚洲一区 | 九九热精品视频 | 婷婷激情五月 | 亚洲一区二区三区福利 | 91久久夜色精品国产九色 | 亚洲a网| 91免费看片神器 | 午夜资源 | 亚州av在线| 中文字幕 亚洲一区 | 亚洲午夜精品一区二区三区 |