欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)容

問題描述

假設(shè)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);

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

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)的字符集
  • ): 停止匹配組
  • \\): 表示關(guān)閉括號

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

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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解java集成支付寶支付接口(JSP+支付寶20160912)

    詳解java集成支付寶支付接口(JSP+支付寶20160912)

    本篇文章主要介紹了java集成支付寶支付接口,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • LeetCode?動態(tài)規(guī)劃之矩陣區(qū)域和詳情

    LeetCode?動態(tài)規(guī)劃之矩陣區(qū)域和詳情

    這篇文章主要介紹了LeetCode?動態(tài)規(guī)劃之矩陣區(qū)域和詳情,文章基于Java的相關(guān)資料展開對LeetCode?動態(tài)規(guī)劃的詳細介紹,需要的小伙伴可以參考一下
    2022-04-04
  • Java實現(xiàn)的Excel列號數(shù)字與字母互相轉(zhuǎn)換功能

    Java實現(xiàn)的Excel列號數(shù)字與字母互相轉(zhuǎn)換功能

    這篇文章主要介紹了Java實現(xiàn)的Excel列號數(shù)字與字母互相轉(zhuǎn)換功能,涉及java針對Excel相關(guān)數(shù)值與字符串操作技巧,需要的朋友可以參考下
    2018-03-03
  • maven創(chuàng)建spark項目的pom.xml文件配置demo

    maven創(chuàng)建spark項目的pom.xml文件配置demo

    這篇文章主要為大家介紹了maven創(chuàng)建spark項目的pom.xml文件配置demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • gradle項目中資源文件的相對路徑打包技巧必看

    gradle項目中資源文件的相對路徑打包技巧必看

    這篇文章主要介紹了gradle項目中資源文件的相對路徑打包技巧必看篇,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Java解決青蛙跳臺階問題流程

    Java解決青蛙跳臺階問題流程

    所謂的青蛙跳臺階問題,就是指一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法。本文將用Java解決這一問題,需要的可以參考一下
    2022-03-03
  • Java無法輸出中文問題及解決

    Java無法輸出中文問題及解決

    這篇文章主要介紹了Java無法輸出中文問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 貪心算法原理及在Java中的使用

    貪心算法原理及在Java中的使用

    我們可能在好多地方都會聽到貪心算法這一概念,并且它的算法思想也比較簡單就是說算法只保證局部最優(yōu),進而達到全局最優(yōu)。但我們實際編程的過程中用的并不是很多,究其原因可能是貪心算法使用的條件比較苛刻,所要解決的問題必須滿足貪心選擇性質(zhì)
    2021-05-05
  • MyBatis官方代碼生成工具給力(解放雙手)

    MyBatis官方代碼生成工具給力(解放雙手)

    這篇文章主要介紹了MyBatis官方代碼生成工具給力(解放雙手),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • java 線程池的實現(xiàn)原理、優(yōu)點與風(fēng)險、以及4種線程池實現(xiàn)

    java 線程池的實現(xiàn)原理、優(yōu)點與風(fēng)險、以及4種線程池實現(xiàn)

    這篇文章主要介紹了java 線程池的實現(xiàn)原理、優(yōu)點與風(fēng)險、以及4種線程池實現(xiàn)包括了:配置線程池大小配置,線程池的實現(xiàn)原理等,需要的朋友可以參考下
    2023-02-02

最新評論