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

Java字符串中有多個(gè)分隔符的處理方式

 更新時(shí)間:2025年05月19日 10:29:57   作者:CnLg.NJ  
這篇文章主要介紹了Java字符串中有多個(gè)分隔符的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

若字符串中存在多個(gè)分隔符,你可以使用正則表達(dá)式來(lái)定義分隔符,從而對(duì)字符串進(jìn)行分割。

下面詳細(xì)介紹幾種常見(jiàn)的處理方式。

方法一:使用正則表達(dá)式分割字符串

在 Java 里,String 類的 split 方法能夠接收一個(gè)正則表達(dá)式作為分隔符。

你可以把多個(gè)分隔符組合成一個(gè)正則表達(dá)式。

例如,若要以空格、逗號(hào)和分號(hào)作為分隔符,可以使用正則表達(dá)式 [ ,;]。

以下是示例代碼:

public class SplitStringWithMultipleDelimiters {
    public static void main(String[] args) {
        String input = "apple, banana; cherry orange";
        // 使用正則表達(dá)式 [ ,;] 作為分隔符
        String[] parts = input.split("[ ,;]");

        for (String part : parts) {
            if (!part.isEmpty()) {
                System.out.println(part);
            }
        }
    }
}    

代碼解釋

  • input.split("[ ,;]")[ ,;] 是一個(gè)字符類正則表達(dá)式,表示匹配空格、逗號(hào)或分號(hào)。split 方法會(huì)根據(jù)這個(gè)正則表達(dá)式將字符串分割成多個(gè)部分。
  • if (!part.isEmpty()):由于分割后可能會(huì)產(chǎn)生空字符串,所以使用該條件過(guò)濾掉空字符串。

方法二:使用 Pattern 和 Matcher 類

你也可以使用 java.util.regex 包中的 PatternMatcher 類來(lái)手動(dòng)處理分割邏輯,這種方式更靈活,能處理更復(fù)雜的情況。

以下是示例代碼:

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class SplitStringWithPatternMatcher {
    public static void main(String[] args) {
        String input = "apple, banana; cherry orange";
        // 定義正則表達(dá)式,匹配分隔符
        Pattern pattern = Pattern.compile("[ ,;]");
        Matcher matcher = pattern.matcher(input);

        List<String> parts = new ArrayList<>();
        int startIndex = 0;
        while (matcher.find()) {
            int endIndex = matcher.start();
            if (endIndex > startIndex) {
                parts.add(input.substring(startIndex, endIndex));
            }
            startIndex = matcher.end();
        }
        if (startIndex < input.length()) {
            parts.add(input.substring(startIndex));
        }

        for (String part : parts) {
            System.out.println(part);
        }
    }
}    

代碼解釋

  • Pattern.compile("[ ,;]"):編譯一個(gè)正則表達(dá)式,用于匹配空格、逗號(hào)或分號(hào)。
  • Matcher matcher = pattern.matcher(input):創(chuàng)建一個(gè) Matcher 對(duì)象,用于在輸入字符串中查找匹配的分隔符。
  • while (matcher.find()):循環(huán)查找輸入字符串中的分隔符,每次找到分隔符后,提取分隔符之前的子字符串并添加到 parts 列表中。
  • if (startIndex < input.length()):處理最后一個(gè)分隔符之后的子字符串。

總結(jié)

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

相關(guān)文章

  • SpringBoot AOP如何配置全局事務(wù)

    SpringBoot AOP如何配置全局事務(wù)

    這篇文章主要介紹了SpringBoot AOP如何配置全局事務(wù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • RocketMQ?Namesrv架構(gòu)工作原理詳解

    RocketMQ?Namesrv架構(gòu)工作原理詳解

    這篇文章主要為大家介紹了RocketMQ?Namesrv架構(gòu)工作原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Java日期時(shí)間格式化操作DateUtils 的整理

    Java日期時(shí)間格式化操作DateUtils 的整理

    這篇文章主要介紹了Java日期時(shí)間格式化操作DateUtils 的整理的相關(guān)資料,這里總結(jié)了java日期格式化的操作,需要的朋友可以參考下
    2017-07-07
  • 一篇文章弄懂Spring MVC的參數(shù)綁定

    一篇文章弄懂Spring MVC的參數(shù)綁定

    這篇文章主要給大家介紹了關(guān)于如何通過(guò)一篇文章弄懂Spring MVC的參數(shù)綁定,文中通過(guò)示例代碼以及圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • 比較Java數(shù)組和各種List的性能小結(jié)

    比較Java數(shù)組和各種List的性能小結(jié)

    這篇文章主要是分別對(duì)Java數(shù)組、ArrayList、LinkedList和Vector進(jìn)行隨機(jī)訪問(wèn)和迭代等操作,并比較這種集合的性能。有需要的可以參考借鑒。
    2016-08-08
  • SpringBoot圖文并茂講解Lombok庫(kù)的安裝與使用

    SpringBoot圖文并茂講解Lombok庫(kù)的安裝與使用

    Lombok想要解決了的是在我們實(shí)體Bean中大量的Getter/Setter方法,以及toString, hashCode等可能不會(huì)用到,但是某些時(shí)候仍然需要復(fù)寫,以期方便使用的方法;在使用Lombok之后,將由其來(lái)自動(dòng)幫你實(shí)現(xiàn)代碼生成
    2022-06-06
  • feign調(diào)用返回object類型轉(zhuǎn)換方式

    feign調(diào)用返回object類型轉(zhuǎn)換方式

    這篇文章主要介紹了feign調(diào)用返回object類型轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java 文件上傳(單文件與多文件)

    java 文件上傳(單文件與多文件)

    這篇文章主要介紹了java 文件上傳(單文件與多文件)的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • 新手易懂的Java客戶管理小項(xiàng)目

    新手易懂的Java客戶管理小項(xiàng)目

    本篇文章是作為一個(gè)很適合新手閱讀的初級(jí)小項(xiàng)目,客戶管理,它主要實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪查改操作,管理每位客戶的不同信息,如果你也是開始學(xué)Java不久,這篇文章將很適合你
    2021-11-11
  • 使用@Transactional 設(shè)置嵌套事務(wù)不回滾

    使用@Transactional 設(shè)置嵌套事務(wù)不回滾

    這篇文章主要介紹了使用@Transactional 設(shè)置嵌套事務(wù)不回滾問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評(píng)論