<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
只寫經常使用的,並不完整。
1.基本用法,將字串按照指定字串進行分割,例如:
public class Main { public static void main(String[] args) { String ss = "abcabcdefg"; String[] split = ss.split("bc"); for(String st:split){ System.out.println(st); } System.out.println("分隔後字串陣列長度為"); System.out.println(split.length); } }
輸出:
a
a
defg
分隔後字串陣列長度為
3
2.需要使用多個字元進行分割:使用split("[]"),其中[]裡面存放需要分割的字元,注意,現在是按照字元來分割,例如:
public class Main { public static void main(String[] args) { String ss = "abcabcdefg"; String[] split = ss.split("[bc]"); for(String st:split){ System.out.println(st); } System.out.println("分隔後字串陣列長度為"); System.out.println(split.length); } }
輸出:
a
a
defg
分隔後字串陣列長度為
5
原因是將b和c都當作分割的字元。
用法其實上面兩條差不多就可以了,重要的是一些特殊情況:
情況1:字串中有連續的分割符,例如2中,b也是分割符c也是分隔符,那麼在分割bc時會產生一個空字元(""),n個連續的分割符會產生n-1個空字元。下面是偵錯時的資訊:
可以看到中間產生了空字元。
情況2:分割符出現在首部,那麼出現幾個分割符,就有多少個空字元。例如
public class Main { public static void main(String[] args) { String ss = "aaabcabcdefg"; String[] split = ss.split("[a]"); for(String st:split){ System.out.println(st); } System.out.println("分隔後字串陣列長度為"); System.out.println(split.length); } }
輸出:
bc
bcdefg
分隔後字串陣列長度為
5
前面3個a都是空字元。
情況3:有些正規表示式,這是一種特殊情況,如,*等符號需要新增跳脫字元。
解決方法:
針對出現空字元,可以寫一個遍歷,長度為0的過濾掉。
for(String st:split){ if(st.length()>0){ list.add(st); } }
針對跳脫字元,編譯器會報錯,就試試新增。
補充:Java中Split函數的用法技巧
在java.lang包中也有String.split()方法,與.net的類似,都是返回是一個字元型陣列,但使用過程中還有一些小技巧。
如執行:"2|33|4".split("|")
出來的結果是:
""
2
|
3
3
|
4
奇怪吧,不過注意看一下API說明還是知道原因的.
java.lang.string.split
split 方法
將一個字串分割為子字串,然後將結果作為字串陣列返回。
stringObj.split([separator,[limit]])
引數
說明
split 方法的結果是一個字串陣列,在 stingObj 中每個出現 separator 的位置都要進行分解
所以正常的寫法是這樣的:
1、如果用“.”作為分隔的話,必須是如下寫法:String.split("\."),這樣才能正確的分隔開,不能用String.split(".");
2、如果用“|”作為分隔的話,必須是如下寫法:String.split("\|"),這樣才能正確的分隔開,不能用String.split("|");
“.”和“|”都是跳脫字元,必須得加"\";
3、如果在一個字串中有多個分隔符,可以用“|”作為連字元,比如:“a=1 andb =2 or c=3”,把三個都分隔出來,可以用String.split("and|or");
總結
到此這篇關於JAVA中split函數的常見用法的文章就介紹到這了,更多相關Java split函數用法內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45