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

java中split()方法以及常見算法經(jīng)典案例

 更新時(shí)間:2025年04月23日 10:09:12   作者:偏右右  
這篇文章主要介紹了java中split()方法以及常見算法的相關(guān)資料,split()方法可以根據(jù)指定的正則表達(dá)式將字符串分割成多個(gè)子字符串,并返回一個(gè)字符串?dāng)?shù)組,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、split()

1.定義

Java中split()方法可以根據(jù)指定的正則表達(dá)式將字符串分割成多個(gè)子字符串,并將結(jié)果以字符串?dāng)?shù)組的方式返回。

2.分割符種類

分割符可以是數(shù)字,任意字符,字符串,符號等。

3.重載的方法以及含義

String[] split(String regex)返回被regex分割后的字符串?dāng)?shù)組
Stirng[] split(Stirng regex,int limit)返回被regex分割后的,數(shù)組長度為limit的字符串?dāng)?shù)組

4.注意事項(xiàng)

a.空字符串

如果是" ",空格字符串,那輸出結(jié)果將會以空格分割符分割;

如果是""空字符串,輸出結(jié)果將會是單個(gè)字符的形式輸出為字符串?dāng)?shù)組,長度為str.length();

public class SplitTest {
    public static void main(String []args) {
        String str="abcdef ghi";
        String[] list=str.split(" ");
        for (String s:list
             ) {
            System.out.println(s);
        }
        String[] list1=str.split("");
        for (String s:list1
        ) {
            System.out.println(s);
        }
    }
}

運(yùn)行結(jié)果:

b.連續(xù)分隔符

如果字符串中有連續(xù)的分割字符,那么結(jié)果數(shù)組中將出現(xiàn)空字符串。(注意區(qū)分空字符串,空格字符串);

public class SplitTest {
    public static void main(String []args) {
        String str="abcdef,,ghi";
        String[] list=str.split(",");
        for (String s:list
             ) {
            System.out.println(s);
        }
    }
}

運(yùn)行結(jié)果:

c.轉(zhuǎn)義字符

在正則表達(dá)式中,有些字符具有特殊含義,例如:

'.', '*', '?', '^', '$', '(', '[', '{', '|', '\', '/'等。

如果需要這些字符作為普通字符進(jìn)行分割,則需要進(jìn)行轉(zhuǎn)義;

public class SplitTest {
    public static void main(String []args) {
        String str="abc.def.ghi";
        String[] list=str.split("\\.");
        for (String s:list
             ) {
            System.out.println(s);
        }
    }
}

運(yùn)行結(jié)果:

5.代碼演示

public class SplitTest {
    public static void main(String []args) {
        String str="2024-3-6";
        //雙引號而非單引號,參數(shù)是字符串類型,不能大意認(rèn)為"-"是單個(gè)字符。
        String[] list=str.split("-");
        for(String s:list){
            System.out.println(s);
        }
        //有限字符串?dāng)?shù)組長度的重載split();
        String[] list1=str.split("-",4);//雖然為4,但是最多分割兩次
        for(String s:list1){
            System.out.println(s);
        }
        //多個(gè)分割字符的情況
        String str2="abcd.efg|hijk.mno";
        String[] list2=str2.split("\\.|\\|");
        for (String s:list2
        ) {
            System.out.println(s);
        }
    }
}

運(yùn)行結(jié)果:

二、經(jīng)典例題

1.問題描述

用戶輸入“2024-8-9”,程序返回"2024-08-09".

2.思路

1.先用split()方法將字符串分割為字符串?dāng)?shù)組;

2.遍歷數(shù)組,用stringbuilder存儲,當(dāng)存儲到下一個(gè)字符時(shí)進(jìn)行判斷,如果字符長度為1,則拼接0,然后再拼接"-",如果不為一,則直接拼接"-".

import java.util.Scanner;

public class SplitTest {
    public static void main(String []args) {
        Scanner input=new Scanner(System.in);
        //創(chuàng)建stringbuilder字符串來存儲動態(tài)結(jié)果;
        StringBuilder stringBuilder=new StringBuilder();
        String str=input.next();
        //使用split()方法分割字符串
        String[] list=str.split("-");
        for (int i = 0; i <list.length ; i++) {
            //如果長度為1,則拼接字符串;
            if (list[i].length()==1){
                stringBuilder.append("0");
                stringBuilder.append(list[i]);
            }else {
                stringBuilder.append(list[i]);
            }
            //除了最后一個(gè)字符串,拼接"-";
            if(i!=list.length-1){
                stringBuilder.append("-");
            }
        }
        //打印結(jié)果
        System.out.println(stringBuilder);
    }
}

3.運(yùn)行結(jié)果

總結(jié) 

到此這篇關(guān)于java中split()方法以及常見算法的文章就介紹到這了,更多相關(guān)java中split()方法常見算法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Android?Studio中創(chuàng)建java工程的完整步驟

    Android?Studio中創(chuàng)建java工程的完整步驟

    Android?Studio創(chuàng)建java工程是非常麻煩的,因?yàn)锳ndroid?Studio沒有提供直接創(chuàng)建java工程的方法,下面這篇文章主要給大家介紹了關(guān)于Android?Studio中創(chuàng)建java工程的完整步驟,需要的朋友可以參考下
    2024-01-01
  • java常用工具類之Excel操作類及依賴包下載

    java常用工具類之Excel操作類及依賴包下載

    這篇文章主要介紹了java常用工具類Excel操作類及依賴包下載,需要的朋友可以參考下
    2014-07-07
  • Mybatis Plus 字段為空值時(shí)執(zhí)行更新方法未更新解決方案

    Mybatis Plus 字段為空值時(shí)執(zhí)行更新方法未更新解決方案

    這篇文章主要介紹了Mybatis Plus 字段為空值時(shí)執(zhí)行更新方法未更新解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java?精煉解讀遞歸的概念與使用

    Java?精煉解讀遞歸的概念與使用

    一說起遞歸,我想每個(gè)人都不陌生。舉個(gè)從小就聽過的例子:從前有座山,山里有座廟,廟里有個(gè)和尚,和尚在講故事,從前有座山,山里有座廟,廟里有個(gè)和尚,和尚在講故事,從前有座山,要理解遞歸,就得先了解什么是遞歸,實(shí)際上這句話就是一個(gè)遞歸
    2022-03-03
  • Java8 forEach常用場景代碼實(shí)例

    Java8 forEach常用場景代碼實(shí)例

    這篇文章主要介紹了Java8 forEach常用場景代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • java面試常見問題---ConcurrentHashMap

    java面試常見問題---ConcurrentHashMap

    ConcurrentHashMap是由Segment數(shù)組結(jié)構(gòu)和HashEntry數(shù)組結(jié)構(gòu)組成。Segment的結(jié)構(gòu)和HashMap類似,是一種數(shù)組和鏈表結(jié)構(gòu),今天給大家普及java面試常見問題---ConcurrentHashMap知識,一起看看吧
    2021-06-06
  • 微信隨機(jī)生成紅包金額算法java版

    微信隨機(jī)生成紅包金額算法java版

    這篇文章主要為大家詳細(xì)介紹了java和php版的微信隨機(jī)生成紅包金額算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • spring學(xué)習(xí)之創(chuàng)建項(xiàng)目 Hello Spring實(shí)例代碼

    spring學(xué)習(xí)之創(chuàng)建項(xiàng)目 Hello Spring實(shí)例代碼

    這篇文章主要介紹了spring學(xué)習(xí)之創(chuàng)建項(xiàng)目 Hello Spring實(shí)例代碼,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Java中單例模式的七種寫法示例

    Java中單例模式的七種寫法示例

    作為一個(gè)Java開發(fā)者,也許你覺得自己對單例模式的了解已經(jīng)足夠多了,但究竟你自己了解的程度到底怎樣呢?下面這篇文章主要給大家介紹了關(guān)于Java中單例模式的七種寫法,需要的朋友可以參考下
    2021-09-09
  • Java文件(io)編程之記事本開發(fā)詳解

    Java文件(io)編程之記事本開發(fā)詳解

    這篇文章主要為大家詳細(xì)介紹了Java文件(io)編程之記事本開發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08

最新評論

浦江县| 梁河县| 阜宁县| 宿迁市| 吴忠市| 芦山县| 丹寨县| 镇原县| 连山| 卢龙县| 仙居县| 嘉兴市| 太和县| 忻城县| 宁南县| 松溪县| 阿城市| 清河县| 贡觉县| 彰化县| 罗田县| 延吉市| 泰州市| 昆明市| 滨州市| 游戏| 日土县| 仁寿县| 曲周县| 榆中县| 贵港市| 怀远县| 武隆县| 西峡县| 台东市| 辽宁省| 桂平市| 墨玉县| 丽水市| 巴东县| 柞水县|