Java正則表達(dá)式之split()方法實(shí)例詳解
本文實(shí)例講述了Java正則表達(dá)式之split()方法。分享給大家供大家參考,具體如下:
1、方法介紹
(1)public String[] split(String regex)
根據(jù)給定正則表達(dá)式的匹配拆分此字符串
(2)public String[] split(String regex,int limit)
根據(jù)匹配給定的正則表達(dá)式來拆分此字符串
2、方法實(shí)例
/** * @Title:Split.java * @Package:com.you.data * @Description:Java split()方法 * @Author: 游海東 * @date: 2014年3月17日 下午7:13:37 * @Version V1.2.3 */ package com.you.data; /** * @類名:Split * @描述:1、split(String regex) * 根據(jù)給定正則表達(dá)式的匹配拆分此字符串 * * 2、split(String regex, int limit) * 根據(jù)匹配給定的正則表達(dá)式來拆分此字符串。 * @Author:游海東 * @date: 2014年3月17日 下午7:13:37 */ public class Split { /** * @Title : main * @Type : Split * @date : 2014年3月17日 下午7:13:37 * @Description : 1、 public String[] split(String regex) * 該方法的作用就像是使用給定的表達(dá)式和限制參數(shù) 0 來調(diào)用兩參數(shù) split 方法。 * 因此,所得數(shù)組中不包括結(jié)尾空字符串。 * * 2、public String[] split(String regex,int limit) * 此方法返回的數(shù)組包含此字符串的子字符串,每個(gè)子字符串都由另一個(gè) * 匹配給定表達(dá)式的子字符串終止,或者由此字符串末尾終止。數(shù)組中的 * 子字符串按它們在此字符串中出現(xiàn)的順序排列。如果表達(dá)式不匹配輸入 * 的任何部分,那么所得數(shù)組只具有一個(gè)元素,即此字符串。 * @param args */ public static void main(String[] args) { /** * 聲明一個(gè)字符串str1 */ String str1 = "ui78,8huh,jf87,uie8,ujkdf90,hu67ghj,894ghk"; /** * 聲明字符串?dāng)?shù)組str2 */ String[] str2 = str1.split(","); /** * 遍歷字符串?dāng)?shù)組 */ for(int i = 0;i<str2.length;i++) { System.out.println("第" + i + "個(gè):" + str2[i]); } System.out.println("\n" + "---------------------------------" + "\n"); /** * 聲明字符串?dāng)?shù)組str3 */ String[] str3 = str1.split(",",1); /** * 遍歷字符串?dāng)?shù)組str3 */ for(int i = 0;i<str3.length;i++) { System.out.println("第" + i + "個(gè):" + str3[i]); } System.out.println("\n" + "---------------------------------" + "\n"); /** * 聲明字符串?dāng)?shù)組str4 */ String[] str4 = str1.split(",",2); /** * 遍歷字符串?dāng)?shù)組str4 */ for(int i = 0;i<str4.length;i++) { System.out.println("第" + i + "個(gè):" + str4[i]); } System.out.println("\n" + "---------------------------------" + "\n"); /** * 聲明字符串?dāng)?shù)組str5 */ String[] str5 = str1.split(",",3); /** * 遍歷字符串?dāng)?shù)組str5 */ for(int i = 0;i<str5.length;i++) { System.out.println("第" + i + "個(gè):" + str5[i]); } System.out.println("\n" + "---------------------------------" + "\n"); /** * 聲明字符串?dāng)?shù)組str6 */ String[] str6 = str1.split(",",4); /** * 遍歷字符串?dāng)?shù)組str6 */ for(int i = 0;i<str6.length;i++) { System.out.println("第" + i + "個(gè):" + str6[i]); } System.out.println("\n" + "---------------------------------" + "\n"); /** * 聲明字符串?dāng)?shù)組str7 */ String[] str7 = str1.split(",",5); /** * 遍歷字符串?dāng)?shù)組str7 */ for(int i = 0;i<str7.length;i++) { System.out.println("第" + i + "個(gè):" + str7[i]); } System.out.println("\n" + "---------------------------------" + "\n"); /** * 聲明字符串?dāng)?shù)組str8 */ String[] str8 = str1.split(",",6); /** * 遍歷字符串?dāng)?shù)組str8 */ for(int i = 0;i<str8.length;i++) { System.out.println("第" + i + "個(gè):" + str8[i]); } } }
3、實(shí)例結(jié)果
第0個(gè):ui78 第1個(gè):8huh 第2個(gè):jf87 第3個(gè):uie8 第4個(gè):ujkdf90 第5個(gè):hu67ghj 第6個(gè):894ghk --------------------------------- 第0個(gè):ui78,8huh,jf87,uie8,ujkdf90,hu67ghj,894ghk --------------------------------- 第0個(gè):ui78 第1個(gè):8huh,jf87,uie8,ujkdf90,hu67ghj,894ghk --------------------------------- 第0個(gè):ui78 第1個(gè):8huh 第2個(gè):jf87,uie8,ujkdf90,hu67ghj,894ghk --------------------------------- 第0個(gè):ui78 第1個(gè):8huh 第2個(gè):jf87 第3個(gè):uie8,ujkdf90,hu67ghj,894ghk --------------------------------- 第0個(gè):ui78 第1個(gè):8huh 第2個(gè):jf87 第3個(gè):uie8 第4個(gè):ujkdf90,hu67ghj,894ghk --------------------------------- 第0個(gè):ui78 第1個(gè):8huh 第2個(gè):jf87 第3個(gè):uie8 第4個(gè):ujkdf90 第5個(gè):hu67ghj,894ghk
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述對大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
解決Eclipse add external jars運(yùn)行出現(xiàn)java.lang.NoClassDefFoundErro
本篇文章對Eclipse add external jars導(dǎo)致運(yùn)行出現(xiàn)java.lang.NoClassDefFoundError的解決方法進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下2013-05-05JavaWeb請求轉(zhuǎn)發(fā)和請求包含實(shí)現(xiàn)過程解析
這篇文章主要介紹了JavaWeb請求轉(zhuǎn)發(fā)和請求包含實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Spring Cloud Stream分區(qū)分組原理圖解
這篇文章主要介紹了Spring Cloud Stream的分區(qū)和分組,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Java消息隊(duì)列RabbitMQ之消息回調(diào)詳解
這篇文章主要介紹了Java消息隊(duì)列RabbitMQ之消息回調(diào)詳解,消息回調(diào),其實(shí)就是消息確認(rèn)(生產(chǎn)者推送消息成功,消費(fèi)者接收消息成功) , 對于程序來說,發(fā)送者沒法確認(rèn)是否發(fā)送成功,需要的朋友可以參考下2023-07-07Java使用責(zé)任鏈模式處理學(xué)生請假問題詳解
這篇文章主要介紹了Java使用責(zé)任鏈模式處理學(xué)生請假問題,結(jié)合實(shí)例形式詳細(xì)分析了責(zé)任鏈模式的概念、原理及Java使用責(zé)任鏈模式處理學(xué)生請假問題的相關(guān)步驟、操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-04-04