日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java: String.split(....); 结果很意外

發布時間:2025/3/15 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java: String.split(....); 结果很意外 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

String txt = "join|公共聊天室||";

String[] paras = txt.splite("\\|");

String t1 = paras[0];

String t2 = paras[1];

String t3 = paras[2];

........
java.lang.ArrayIndexOutOfBoundsException: 2
?at sm.service.Service.run(Service.java:125)

程序運行中拋出這么一個錯誤。

?

String[] items = txt.splite("\\|"); //是這樣轉換成數組的,怎么數組的長度 = 2

查看了API文檔,測試了一下:

String txt = "a|b|c|d||||||";
String[] msgs = txt.split("\\|",-1);
System.out.println(msgs.length);?? // 輸出 10

----------------------------------------------------------------------

String txt = "a|b|c|d||||||";
String[] msgs = txt.split("\\|");
System.out.println(msgs.length); //輸出? 4

----------------------------------------------------------------------

String txt = "a|b|c|d||||||";
String[] msgs = txt.split("\\|",0);
System.out.println(msgs.length); //輸出 4

----------------------------------------------------------------------

String txt = "a|b|c|d||||||";
String[] msgs = txt.split("\\|",2);
System.out.println(msgs.length); //輸出 2

----------------------------------------------------------------------

API相關資料

public String[]?split(String?regex, int?limit)

根據匹配給定的正則表達式來拆分此字符串。

此方法返回的數組包含此字符串的每個子字符串,這些子字符串由另一個匹配給定的表達式的子字符串終止或由字符串結束來終止。數組中的子字符串按它們在此字符串中的順序排列。如果表達式不匹配輸入的任何部分,則結果數組只具有一個元素,即此字符串。

limit?參數控制模式應用的次數,因此影響結果數組的長度。如果該限制?n?大于 0,則模式將被最多應用?n?-?1 次,數組的長度將不會大于?n,而且數組的最后項將包含超出最后匹配的定界符的所有輸入。如果?n?為非正,則模式將被應用盡可能多的次數,而且數組可以是任意長度。如果?n?為零,則模式將被應用盡可能多的次數,數組可有任何長度,并且結尾空字符串將被丟棄。

例如,字符串?"boo:and:foo"?使用這些參數可生成下列結果:

RegexLimit結果:2{ "boo", "and:foo" }:5{ "boo", "and", "foo" }:-2{ "boo", "and", "foo" }o5{ "b", "", ":and:f", "", "" }o-2{ "b", "", ":and:f", "", "" }o0{ "b", "", ":and:f" }

這種形式的方法調用?str.split(regex,?n)?產生與以下表達式完全相同的結果:

Pattern.compile(regex).split(str,?n)

?

?

?

?

?

?

?

參數:
regex - 定界正則表達式
limit - 結果閾值,如上所述

返回:字符串數組,根據給定正則表達式的匹配來拆分此字符串,從而生成此數組

?

-----------------------------------------------------------------------------------------------------------------

splitpublic String[]?split(String?regex)

根據給定的正則表達式的匹配來拆分此字符串。

該方法的作用就像是使用給定的表達式和限制參數 0 來調用兩參數 split 方法。因此,結果數組中不包括結尾空字符串。

例如,字符串?"boo:and:foo"?產生帶有下面這些表達式的結果:

Regex結果:{ "boo", "and", "foo" }o{ "b", "", ":and:f" }

?

?

?

?

參數:
regex - 定界正則表達式
返回:
字符串數組,根據給定正則表達式的匹配來拆分此字符串,從而生成此數組。

轉載于:https://www.cnblogs.com/personnel/p/4583113.html

總結

以上是生活随笔為你收集整理的Java: String.split(....); 结果很意外的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。