<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Javaphua Blog

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      46 Posts :: 5 Stories :: 46 Comments :: 0 Trackbacks

    在使用String.split方法分隔字符串時,分隔符如果用到一些特殊字符,可能會得不到我們預期的結果。

    我們看jdk doc中說明

    public String[] split(String regex)

    Splits this string around matches of the given regular expression.

    參數regex是一個 regular-expression的匹配模式而不是一個簡單的String,他對一些特殊的字符可能會出現你預想不到的結果,比如測試下面的代碼:

    用豎線 | 分隔字符串,你將得不到預期的結果

    ? String[] aa = "aaa|bbb|ccc".split("|");
    ? //String[] aa = "aaa|bbb|ccc".split("\\|"); 這樣才能得到正確的結果

    ? for (int i = 0 ; i <aa.length ; i++ ) {
    ? ? System.out.println("--"+aa);
    ? }

    用豎 * 分隔字符串運行將拋出java.util.regex.PatternSyntaxException異常,用加號 + 也是如此。

    ? String[] aa = "aaa*bbb*ccc".split("*");
    ? //String[] aa = "aaa|bbb|ccc".split("\\*"); 這樣才能得到正確的結果 ?

    ? for (int i = 0 ; i <aa.length ; i++ ) {
    ? ? System.out.println("--"+aa);
    ? }

    顯然,+ * 不是有效的模式匹配規則表達式,用"\\*" "\\+"轉義后即可得到正確的結果。

    "|" 分隔串時雖然能夠執行,但是卻不是預期的目的,"\\|"轉義后即可得到正確的結果。

    還有如果想在串中使用"\"字符,則也需要轉義.首先要表達"aaaa\bbbb"這個串就應該用"aaaa\\bbbb",如果要分隔就應該這樣才能得到正確結果:

    String[] aa = "aaa\\bbb\\bccc".split("\\\\");

    posted on 2006-05-30 13:37 Javaphua 閱讀(184) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产区男人本色在线观看| 欧洲 亚洲 国产图片综合| 亚洲国产美女精品久久久| 羞羞网站在线免费观看| 国产成人久久AV免费| 亚洲av日韩av无码| 亚洲狠狠色丁香婷婷综合| 最近中文字幕mv免费高清视频7 | 日韩一级片免费观看| 最新黄色免费网站| 亚洲视频在线免费| h片在线播放免费高清| 亚洲人成精品久久久久| 国产一级淫片a免费播放口| 久久久久亚洲精品成人网小说| 99热精品在线免费观看| 亚洲国产模特在线播放| 成人久久免费网站| 亚洲综合一区二区| 日本免费一区二区久久人人澡| 亚洲人成网站在线播放影院在线| 免费夜色污私人影院网站| 99久久久国产精品免费无卡顿| 亚洲AV无码一区二区二三区软件| 24小时日本韩国高清免费| 在线亚洲高清揄拍自拍一品区| 日韩免费无砖专区2020狼| 两性色午夜视频免费网| 亚洲国产成人精品青青草原| 黄网址在线永久免费观看| EEUSS影院WWW在线观看免费| 亚洲精品美女久久久久| 国产精品国产午夜免费福利看 | 美女视频黄的全免费视频网站| 亚洲欧美不卡高清在线| 亚洲精品国产综合久久一线| 99精品视频在线观看免费专区| 亚洲AV无码AV吞精久久| 国产A在亚洲线播放| 午夜a级成人免费毛片| 国产婷婷成人久久Av免费高清|