日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何在Java中優(yōu)雅地分割String字符串

分割字符串是 Java 編程中常用的操作,相信很多同學(xué)都知道,String 類中的 split 方法可以進(jìn)行字符串分割,然而日常使用起來卻僅限于 str.split( "-"),其中 "-"為分隔符。其實(shí) split 方法的功能非常強(qiáng)大,可以更優(yōu)雅地使用它分割字符串。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、昌平網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為昌平等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

使用方法

split 方法的一種聲明為,

 
 
 
 
  1. public String[] split(String regex) 

其中 regex 指的是正則表達(dá)式分隔符,我們平時(shí)使用單個(gè)字符作為分隔符,其實(shí)可以看作特殊的正則表達(dá)式,特殊之處在于這種表達(dá)式只匹配它自身,如 "-" 只匹配 "-", 示例如下:

 
 
 
 
  1. String string = "86-15003455666"; 
  2. String[] parts = string.split("-"); 
  3. String part1 = parts[0]; // 86 
  4. String part2 = parts[1]; // 15003455666 

split 方法的另一個(gè)聲明為:

 
 
 
 
  1. public String[] split(String regex, int limit) 

regex 指的是 正則表達(dá)式分隔符,limit 指定的則是分割的份數(shù),舉個(gè)例子就明白了

 
 
 
 
  1. String string = "004-556-42"; 
  2. String[] parts = string.split("-", 2);   // 限定分割兩份 
  3. String part1 = parts[0]; // 004 
  4. String part2 = parts[1]; // 556-42 

而在某些場(chǎng)景下,我們可能想要在結(jié)果中保留分隔符,這也是可以做到了設(shè)置分隔符與分割后左側(cè)的結(jié)果相連,

 
 
 
 
  1. String string = "86-15003455666"; 
  2. String[] parts = string.split("(?<=-)"); 
  3. String part1 = parts[0]; // 86- 
  4. String part2 = parts[1]; // 15003455666 

設(shè)置分隔符與分割后右側(cè)的結(jié)果相連,

 
 
 
 
  1. String string = "86-15003455666"; 
  2. String[] parts = string.split("(?=-)"); 
  3. String part1 = parts[0]; // 86 
  4. String part2 = parts[1]; // -15003455666 

機(jī)智的你可能已經(jīng)發(fā)現(xiàn)了,其實(shí)分割方法的精妙之處,全在于正則表達(dá)式 regex 的設(shè)置,正則表達(dá)式還是要好好學(xué)習(xí)的!

妙用正則表達(dá)式

在實(shí)際的工作場(chǎng)景中,對(duì)于要分割的字符串,我們?cè)诜指钪埃枰r?yàn)下它的格式,只有符合我們的要求,我們才對(duì)它進(jìn)行拆分處理。而使用 Pattern 類加 Matcher 類,可以使字符串的格式識(shí)別和分割操作一氣呵成:

 
 
 
 
  1. public class SplitExample { 
  2.     //\d代表數(shù)字,+代表出現(xiàn)一次或多次。所以(\\d+)-(\\d+)匹配用"-"相連的兩個(gè)數(shù)字串 
  3.     // Pattern 對(duì)象是正則表達(dá)式的編譯表示 
  4.     private static Pattern twopart = Pattern.compile("(\\d+)-(\\d+)"); 
  5.  
  6.     public static void checkString(String s) 
  7.     { 
  8.         // Matcher對(duì)象對(duì)輸入字符串進(jìn)行解釋和匹配操作 
  9.         Matcher m = twopart.matcher(s); 
  10.         if (m.matches()) { 
  11.             //m.group(1) 和 m.group(2) 存儲(chǔ)分割后的子串 
  12.             System.out.println(s + " matches; first part is " + m.group(1) + 
  13.                     ", second part is " + m.group(2) + "."); 
  14.         } else { 
  15.             System.out.println(s + " does not match."); 
  16.         } 
  17.     } 
  18.  
  19.     public static void main(String[] args) { 
  20.         checkString("123-4567");  // 匹配 
  21.         checkString("s-tar");    // 字母序列,不匹配 
  22.         checkString("123-");    // "-"右側(cè)的數(shù)字串為空,不匹配 
  23.         checkString("-4567");    // "-"左側(cè)的數(shù)字串為空,不匹配 
  24.         checkString("123-4567-890");    // 存在兩個(gè)"-",不匹配 
  25.     } 

上述程序的運(yùn)行結(jié)果為:


當(dāng)前文章:如何在Java中優(yōu)雅地分割String字符串
分享URL:http://www.dlmjj.cn/article/dpgjesc.html