關於java中使用split方法丟失末尾空值

2021-09-25 06:14:33 字數 549 閱讀 4844

示例: 

string str = "1,2,";

string arr = str.split(",");

這樣得到的陣列元素個數只是2個。原因是,最後乙個","後沒有內容,它沒有作為空字串成為第三個陣列元素,結尾的空字串被丟棄了。使用預設的split方法時,會預設丟棄字串末尾的空值,而字串中間的空值則會作為陣列中的一項資料,不會被丟棄。

split函式還有另一種過載方式 :public string split (string  regex, int limit) ,看下說明limit 引數控制模式應用的次數,因此影響所得陣列的長度。

1、如果 n 大於 0,代表分割字串後陣列的最大長度,則模式將被最多應用 n  - 1 次,陣列的長度將不會大於 n ,而且陣列的最後一項將包含所有超出最後匹配的定界符的輸入。

2、如果 n 為非正,代表獲取陣列所有值,不會丟棄末尾空值,那麼模式將被應用盡可能多的次數,而且陣列可以是任何長度。

3、如果 n 為 0,那麼模式將被應用盡可能多的次數,陣列可以是任何長度,並且結尾空字串將被丟棄。

Oracle中使用Split函式

定義陣列型別 type t array is varray 2000 of varchar2 4000 v varray t array 將字串轉換成為陣列 陣列解析函式摘的,不應該每個字元遍歷,只作啟示 function f splitstr str in varchar2,separator i...

JAVA的split使用注意事項

今天同事遇到的split的有趣情況 測試原始碼如下 import org.junit.test test public void stringsplit 輸出結果 0個逗號 split length 1 n n 0 個純逗號 split length 0 4個純逗號,最後乙個字元在最後乙個逗號之前,...

python中關於split 方法的使用

split 通過指定分隔符對字串進行切片,返回分割後的字串列表。如果指定分隔符內容,則按照指定內容進行分割。如果沒有指定分隔符內容,則預設按空格分割。a 1 2,3 4.5 a.split 輸出結果 1 2,3 4.5 a.split 輸出結果 1 2 3 4.5 以上內容可以看出,指定分隔符的時候...