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

Java中如何取出String字符串括號中的內(nèi)容

 更新時間:2023年05月26日 10:34:40   作者:cts618  
這篇文章主要介紹了Java中如何取出String字符串括號中的內(nèi)容問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java取出String字符串括號中的內(nèi)容

package com.cnic.flink.etl.test;
import java.util.HashMap;
import java.util.Map;
public class Map2Bean {
    public static void main(String[] args) {
        String str = "[tid:2656,Q:W183CWbcBewrSgccJOdw] ";
        //String substring = str.substring(0, 10);
        //System.out.println(substring);
        //String sub001 = str.substring(0 ,10);
        //System.out.println(sub001);
        //int i = str.indexOf("[", "]");
        String substring = str.substring(str.indexOf("[")+1, str.indexOf("]"));
        System.out.println(substring);
        HashMap<String, String> map = new HashMap<String, String>();
    }
}

Java解析括號內(nèi)子字符串的內(nèi)容

問題描述

假設String input = "test data (測試)",現(xiàn)在需要獲取括號內(nèi)的測試字串。

也有可能給定字符串包括多個括號組:

String input = "test data (測試)(data)" ,解析結(jié)果為:測試 和 data 。

多種方式實現(xiàn)

1.直接定位

我們首先想到的直接使用 String的indexOf方法進行定位:

String input = "test data (測試)";
String output = input.substring(input.indexOf("(") + 1 ,input.indexOf(")"));
log.info("output={}", output);

這種方法缺少靈活性,當有多個括號時不支持。

2.正則方式

下面使用正則進行解析,支持多個括號組:

? ? String input = "test data (測試)(data)";
? ? String pattern = "\\(([^\\)]+)\\)";
? ? Matcher matcher = Pattern.compile(pattern).matcher(input);
? ? while (matcher.find()) {
? ? ? ? String output = matcher.group(1);
? ? ? ? log.info("output={}", output);
? ? }

正則解釋:

  • \\(: 表示字符(
  • (: 開始匹配組
  • [: 中括號表示可選內(nèi)容
  • ^: 表示不是后續(xù)字符
  • ): 在前面加上 ^, 表示除了 “ )” 的所有字符
  • +: 表示1個或多個[]括號內(nèi)的字符集
  • ): 停止匹配組
  • \\): 表示關閉括號

如果明確知道有幾個括號也可以簡化:

String input = "test data (測試)data";
String [] outs = input.split("[\\(\\)]");
log.info(outs[1]);

3.第三方庫

這里使用 org.apache.commons.lang3包中的StringUtils工具包,它提供了類似的實現(xiàn):

String input0 = "test data (測試)";
String input1 = "test data (測試)(data)";
String output = StringUtils.substringBetween(input, "(", ")");
String [] out = StringUtils.substringsBetween(input1,"(", ")");

同時支持單個括號或多個括號組,且括號作為參數(shù),使用簡單不失靈活。

心得:

以上介紹了Java幾種方式解析字符串中包括括號內(nèi)的子字符串內(nèi)容。直接使用Java String內(nèi)置方法定位,使用正則表達式以及第三方庫進行解析。 

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • restTemplate發(fā)送get與post請求并且?guī)?shù)問題

    restTemplate發(fā)送get與post請求并且?guī)?shù)問題

    這篇文章主要介紹了restTemplate發(fā)送get與post請求并且?guī)?shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java排序算法總結(jié)之插入排序

    Java排序算法總結(jié)之插入排序

    這篇文章主要介紹了Java排序算法總結(jié)之插入排序,較為詳細的分析了插入排序的原理與java實現(xiàn)技巧,需要的朋友可以參考下
    2015-05-05
  • IDEA 2019.2.2配置Maven3.6.2打開Maven項目出現(xiàn) Unable to import Maven project的問題

    IDEA 2019.2.2配置Maven3.6.2打開Maven項目出現(xiàn) Unable to import Maven

    這篇文章主要介紹了IDEA 2019.2.2配置Maven3.6.2打開Maven項目出現(xiàn) Unable to import Maven project的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Java?file.delete刪除文件失敗,Windows磁盤出現(xiàn)無法訪問的文件問題

    Java?file.delete刪除文件失敗,Windows磁盤出現(xiàn)無法訪問的文件問題

    這篇文章主要介紹了Java?file.delete刪除文件失敗,Windows磁盤出現(xiàn)無法訪問的文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Mybatis?resultMap標簽繼承、復用、嵌套方式

    Mybatis?resultMap標簽繼承、復用、嵌套方式

    這篇文章主要介紹了Mybatis?resultMap標簽繼承、復用、嵌套方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java服務不可用問題排查和解決

    Java服務不可用問題排查和解決

    作為一名 java 開發(fā)者,經(jīng)常會遇到服務不可用的問題排查,導致問題的原因可能是多種多樣的,但是在預先不知道是什么原因?qū)е碌姆詹豢捎玫臅r候,通用的排查手段和流程是相似的,故本文給大家介紹了Java服務不可用問題排查方法和解決,需要的朋友可以參考下
    2025-01-01
  • Java程序超時停止的實踐方案

    Java程序超時停止的實踐方案

    本文探討了多種在Java中控制任務執(zhí)行時間的方法,分析了不同方案的優(yōu)缺點,介紹了基于時間循環(huán)控制的基礎實現(xiàn)及其局限性,詳細講解了線程中斷機制,感興趣的朋友跟隨小編一起看看吧
    2025-10-10
  • SpringBoot使用@SpringBootTest注解開發(fā)單元測試教程

    SpringBoot使用@SpringBootTest注解開發(fā)單元測試教程

    這篇文章主要介紹了SpringBoot使用@SpringBootTest注解開發(fā)單元測試教程,本文通過詳細的案例過程來說明如何使用該項技術,需要的朋友可以參考下
    2021-06-06
  • 如何將Java對象轉(zhuǎn)換為JSON實例詳解

    如何將Java對象轉(zhuǎn)換為JSON實例詳解

    有時候需要將對象轉(zhuǎn)換為JSON格式,所以這篇文章主要給大家介紹了關于如何將Java對象轉(zhuǎn)換為JSON的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • SpringBoot使用Redisson實現(xiàn)延遲執(zhí)行的完整示例

    SpringBoot使用Redisson實現(xiàn)延遲執(zhí)行的完整示例

    這篇文章主要介紹了SpringBoot使用Redisson實現(xiàn)延遲執(zhí)行的完整示例,文中通過代碼示例講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06

最新評論

蓝田县| 福州市| 攀枝花市| 卓资县| 靖宇县| 三江| 西乌珠穆沁旗| 长治市| 莱西市| 台湾省| 宜阳县| 十堰市| 都兰县| 方城县| 新源县| 秦安县| 青田县| 蒙自县| 长葛市| 阳东县| 自治县| 舞阳县| 威远县| 绥化市| 忻城县| 个旧市| 孟州市| 乐陵市| 博罗县| 闵行区| 家居| 宁南县| 昔阳县| 普洱| 陆丰市| 板桥市| 天柱县| 崇仁县| 永济市| 合肥市| 平度市|