版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第Java切割字符串的幾種方式集合目錄Java切割字符串的幾種方式1、StringTokenizer切割2、..split("*")分割3、調(diào)用String自己的apisubString()java優(yōu)雅的切割字符串切割字符串使用方法
Java切割字符串的幾種方式
//以data為案例參數(shù)。
Stringdata="2025-01-0821:55136\n2025-01-0822:0086\n2025-01-0822:04136\n2025-01-0822:0986\n2025-01-0822:12136\n2025-01-1410:4986\n";
已下排名按效率高低,如果有疑問自己可以設(shè)置時(shí)間戳,自己測試吧。
1、StringTokenizer切割
是java.util中的一個(gè)類,包含的api有:
其中,countTokens為length;nextToken可以獲取它的下一個(gè)字符串,其中delim為分隔符。
2、..split("*")分割
最方便,運(yùn)用最多的,不解釋。
String[]split=data.split("\n");
if(split!=nullsplit.length!=0){
for(inti=0;isplit.length-1;i++){
String[]split1=split[i].split(":");
}
3、調(diào)用String自己的apisubString()
運(yùn)用2的代碼塊
String[]split=data.split("\n");
if(split!=nullsplit.length!=0){
for(inti=0;isplit.length-1;i++){
System.out.println(split[i]);
Stringtime=split[i].substring(0,16);//前半部分16為index
System.out.println(time);
Stringnum=split[i].substring(17);//剩余部分index+2;
System.out.println(num);
}
輸出結(jié)果:
2025-01-0821:55136
2025-01-0821:55
136
2025-01-0822:0086
2025-01-0822:00
86
2025-01-0822:04136
2025-01-0822:04
136
2025-01-0822:0986
2025-01-0822:09
86
2025-01-0822:12136
2025-01-0822:12
136
其中上面的split[i].substring(0,15);15是我字符串我這邊功能需要寫死了的,你可以通過indexOf(intch)獲取位置。
正則獲取時(shí)間,然后.replaceAll(Stringregex,Stringreplacement)那時(shí)間用”“代替,剩下的字符串就是時(shí)間以外的字符串了。
java優(yōu)雅的切割字符串
切割字符串
分隔字符串是java中常用的操作,String的split方法可以進(jìn)行字符串切割操作,然而日常使用卻僅僅限于str.split("-"),其中“-”為分隔符。其實(shí)split方法很強(qiáng)大,有更優(yōu)雅的方式去切割字符串
使用方法
publicString[]split(Stringregex)
其中regex代表正則表達(dá)式分隔符,我們平時(shí)使用單個(gè)字符作為分隔符,其實(shí)可以看做是特殊的正則表達(dá)式,特殊之處在于這種表達(dá)式在匹配自身,如"-"只匹配"-",示例如下:
Stringstring=;
String[]parts=string.split("-");
Stringpart1=parts[0];//86
Stringpart2=parts[1];//p>
split還有另一種用法
publicString[]split(Stringregex,intlimit)
regex指的是正則表達(dá)式分隔符,limit值的是分隔的份數(shù),如:
Stringstring="004-556-42";
String[]parts=string.split("-",2);//限定分割兩份
Stringpart1=parts[0];//004
Stringpart2=parts[1];//556-42
在某些場景下,我們可能想要在結(jié)果中保留分隔符,這也是可以做到的,設(shè)置分隔符與分割后的左側(cè)結(jié)果相連
Stringstring=;
String[]parts=string.split("(=-)");
Stringpart1=parts[0];//86-
Stringpart2=parts[1];//p>
設(shè)置分隔符與分割后右側(cè)的結(jié)果相連:
Stringstring=;
String[]parts=string.split("(=-)");
Stringpart1=parts[0];//86-
Stringpart2=parts[1];//p>
所以說要妙用正則表達(dá)式,代碼示例:
//\d代表數(shù)字,+代表出現(xiàn)一次或多次。所以(\\d+)-(\\d+)匹配用"-"相連的兩個(gè)數(shù)字串
//Pattern對(duì)象是正則表達(dá)式的編譯表示
privatestaticPatterntwopart=Ppile("(\\d+)-(\\d+)");
publicstaticvoidcheckString(Strings)
//Matcher對(duì)象對(duì)輸入字符串進(jìn)行解釋和匹配操作
Matcherm=twopart.matcher(s);
if(m.matches()){
//m.group(1)和m.group(2)存儲(chǔ)分割后的子串
System.out.println(s+"matches;firstpartis"+m.group(1)+
",secondpartis"+m.group(2)+".");
}else{
System.out.println(s+"doesnotmatch.");
publicstaticvoidmain(String[]args){
checkString("123-4567");//匹配
checkString("s-tar");//字母序列,不匹配
checkString("123-");//"-"右側(cè)的數(shù)字串為空,不匹配
checkString("-4567");//"-"左側(cè)的數(shù)字串為空,不匹配
checkString("123-4567-890");//存在兩個(gè)"-",不匹配
}
運(yùn)行結(jié)果:
123-4567matches;firstpartis12
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省晉中市澤州2025-2026年九年級(jí)上期末語文試卷(含答案)
- 海南樂東黎族自治縣2025-2026學(xué)年八年級(jí)上學(xué)期末質(zhì)量監(jiān)測道德與法治試卷
- 2025-2026學(xué)年春統(tǒng)編版語文五級(jí)下冊第二單元綜合能力檢測情境卷(含答案)
- 2024年理縣幼兒園教師招教考試備考題庫附答案解析(必刷)
- 2025年云南外事外語職業(yè)學(xué)院單招職業(yè)技能考試模擬測試卷帶答案解析
- 2024年蕭縣幼兒園教師招教考試備考題庫帶答案解析
- 2025年浙江師范大學(xué)馬克思主義基本原理概論期末考試模擬題含答案解析(必刷)
- 2025年南京旅游職業(yè)學(xué)院單招職業(yè)傾向性測試題庫帶答案解析
- 2025年海南政法職業(yè)學(xué)院馬克思主義基本原理概論期末考試模擬題附答案解析
- 2025年廣東創(chuàng)新科技職業(yè)學(xué)院馬克思主義基本原理概論期末考試模擬題含答案解析(奪冠)
- 潔凈室安全管理培訓(xùn)內(nèi)容課件
- 真性紅細(xì)胞增多癥
- 臨床檢驗(yàn)初級(jí)師歷年試題及答案2025版
- 文第19課《井岡翠竹》教學(xué)設(shè)計(jì)+2024-2025學(xué)年統(tǒng)編版語文七年級(jí)下冊
- 干部教育培訓(xùn)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 車庫使用協(xié)議合同
- 組件設(shè)計(jì)文檔-MBOM構(gòu)型管理
- 《不在網(wǎng)絡(luò)中迷失》課件
- 山東省泰安市2024-2025學(xué)年高一物理下學(xué)期期末考試試題含解析
- 竹子產(chǎn)業(yè)發(fā)展策略
- 【可行性報(bào)告】2023年硫精砂項(xiàng)目可行性研究分析報(bào)告
評(píng)論
0/150
提交評(píng)論