最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年12月03日 11:28:19   作者:常樂_smile  
這篇文章主要介紹了java Matcher匹配頭尾截取替換字符串的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在java 編程中,我們常常有這樣的需求:需要將一段字符串內的特定字符串,按照一定規(guī)則查找出來或替換,比如匹配文本開頭規(guī)則和結束規(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 匹配頭尾截取替換字符串
 * 待替換內容:
 * 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("原內容:"+str);
      for (String foundkey : foundKeys){
        str = str.replace(foundkey, foundkey.replace("${cot.","{{cot.").replace("}", "}}").replace("-","_"));
      }
      System.out.println("替換后:"+str);
    }
  }
}

補充知識:JAVA正則表達式 Pattern和Matcher,用正則替換對應的內容

需求:

過濾樣式,比如:

<p><span style="font-size: larger">鉛筆機一個</span></p>

過濾后結果= 鉛筆機一個

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

輸出結果:

替換以后結果=====》鉛筆機一個

說明:

1.Pattern類用于創(chuàng)建一個正則表達式,也可以說創(chuàng)建一個匹配模式,它的構造方法是私有的,不可以直接創(chuàng)建,但可以通過Pattern.complie(String regex)簡單工廠方法創(chuàng)建一個正則表達式。

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

以上這篇java Matcher匹配頭尾截取替換字符串的案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • java 枚舉類中的valueOf用法說明

    java 枚舉類中的valueOf用法說明

    這篇文章主要介紹了java 枚舉類中的valueOf用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring MVC 接口 ResponseBodyAdvice 及其應用最佳實踐記錄

    Spring MVC 接口 ResponseBodyAdvice 及其應用最佳實

    ResponseBodyAdvice?是 Spring MVC 提供的一個強大接口,允許你在響應體被寫入 HTTP 響應之前對其進行全局處理,下面我將全面介紹它的工作原理、使用場景和最佳實踐,感興趣的朋友一起看看吧
    2025-04-04
  • Java通過工廠、Map容器創(chuàng)建對象的方法

    Java通過工廠、Map容器創(chuàng)建對象的方法

    這篇文章主要介紹了Java通過工廠、Map容器創(chuàng)建對象的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Django之多對多查詢與操作方法詳解

    Django之多對多查詢與操作方法詳解

    這篇文章主要介紹了Django之多對多查詢與操作方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • Spring Boot啟動過程(五)之Springboot內嵌Tomcat對象的start教程詳解

    Spring Boot啟動過程(五)之Springboot內嵌Tomcat對象的start教程詳解

    這篇文章主要介紹了Spring Boot啟動過程(五)之Springboot內嵌Tomcat對象的start的相關資料,需要的朋友可以參考下
    2017-04-04
  • Springboot配置Swagger2登錄密碼的實現(xiàn)

    Springboot配置Swagger2登錄密碼的實現(xiàn)

    本文主要介紹了Springboot配置Swagger2登錄密碼的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • java并發(fā)包JUC同步器框架AQS框架原文翻譯

    java并發(fā)包JUC同步器框架AQS框架原文翻譯

    發(fā)現(xiàn)了一篇JDK作者的論文《The?java.util.concurrent?Synchronizer?Framework》主要描述了作者對AbstractQueuedSynchronizer同步器框架的設計和實現(xiàn)。權威性毋庸置疑!自然需要拜讀一下,配上中文翻譯,希望大家能有所收獲
    2022-02-02
  • 秒懂Java枚舉類型(enum)

    秒懂Java枚舉類型(enum)

    這篇文章主要介紹了秒懂Java枚舉類型(enum),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Java transient關鍵字使用小記

    Java transient關鍵字使用小記

    這篇文章主要為大家詳細介紹了Java transient關鍵字的使用方法,感興趣的小伙伴們可以參考一下
    2016-06-06
  • java冒泡排序算法代碼

    java冒泡排序算法代碼

    這篇文章介紹了java冒泡排序算法代碼,有需要的朋友可以參考一下
    2013-10-10

最新評論

惠水县| 马鞍山市| 白沙| 奇台县| 稷山县| 浑源县| 稷山县| 新营市| 海阳市| 宝山区| 玉溪市| 阜城县| 娄底市| 和田市| 南汇区| 汨罗市| 融水| 余姚市| 延津县| 柞水县| 七台河市| 北流市| 丰顺县| 富川| 贵溪市| 柳林县| 九江县| 林芝县| 临夏市| 应城市| 南京市| 深水埗区| 璧山县| 团风县| 青浦区| 崇礼县| 丰县| 永川市| 乐安县| 蒙自县| 桐梓县|