之前沒有在split函式 只是單純用了split(regex) 的方法做字串
今天遇到個人問 為什麼這個方法會導致最後的空字串消失,我一時回答不上了 就去翻看了下1.7jdk文件
在文件中我找到這樣的描述
split(regex) 函式是 呼叫split(regex,limit) 來實現的, limit 的預設值為0,匹配完之後尾部的空字串會自動刪除
也就是如下效果
結果|2|string test_str = ",2,,3,,,4,,,";
string test_array= test_str.split(",");
for(string temp : test_array)
|3|||
4|那麼接下來的問題就是split(regex,limit) 函式到底是做什麼的
jdk文件對該函式的描述為,函式通過正規表示式去匹配分隔符,分割出來的字串以字串頭 或者乙個分隔符開始 遇到下乙個分隔符或者字串結尾結束
limit是乙個整數,如果limit大於0 那麼分隔符匹配至多n-1次 也就是匹配完的字串陣列至多有n個元素
如果limit = 0 那麼分割符 匹配盡可能多次, 尾部的空字串會被去掉
如果limit <0 分隔符會匹配盡可能多次 不會去尾
如果需要保留尾部的空字串 那麼之後第二個引數傳 負數就可以了
1.7jdk 對這兩個函式的描述如下
String 物件中的 正規表示式方法 split
split 方法用於把乙個字串分割成字串陣列。stringobject.split separator,howmany 引數 描述separator 必需。字串或正規表示式,從該引數指定的地方分割 stringobject。howmany 可選。該引數可指定返回的陣列的最大長度。如果設定了該引數,返...
java中string物件中的split方法的使用
我們都知道string物件中的split方法,是用來按照根據匹配給定的正規表示式來拆分此字串。split方法有兩種 一種為 public stringsplit stringregex 另一種為 public stringsplit stringregex,intlimit 但是在實際應用中我們常用...
java中String的常用方法
string的基本常用方法 這裡都是一些基本的用法,都是 舉例比較直接 字串的比較方法 返回值為boolean型別,引數為另乙個字串 if 豬八戒 equals 孫悟空 else 字串的查詢方法 返回值為int,也就是該字元在字串中的索引 引數為需要查詢的字元 string str1 android...