- 在工作中遇到的問題
從前端拿到一串數字然後進行擷取並分開賦值。
在其中用到了StringUtils.split()和string.split()函式。就很好奇他倆的區別,於是在網上進行了一番查詢。做出如下總結。
-
區別1
StringUtils.split()是把分隔符拆成一個個單獨的字元,再用這些字元去把字串進行分割的。只要匹配到了分隔符中的任意一個字元,就會進行分割。
string.split()是把分隔符作為一個整體來對字串進行分割。
例如:比如分隔符為;,;時,那麼StringUtils.split()只要遇到;或者,時就會進行分割。而string.split() 只有在遇到;,;時才會進行分割。 -
區別2
另外string.split()用到的分隔符引數其實是正規表示式,而StringUtils.split()的分隔符引數就只是個普通的字串。 -
string.split()的用法
1.在需要以“.”、“|”、“*”、“+”等為跳脫字元時,作為分隔的話,必須得加"\\";
2.如果在字串中使用"\"字元,則也需要轉義,首先要表達"aaaa\bbbb"這個串就應該用"aaaa\\bbbb"; -
string.split()的用法
string.split()是根據匹配給定的正規表示式和limit 引數控制分割次數來拆分此字串。
limit 引數透過控制分割次數從而影響分割結果
如果傳入 n(n>0) 那麼字串最多被分割 n-1 次,分割得到陣列長度最大是 n
如果 n = -1 將會以最大分割次數分割
如果 n = 0 將會以最大分割次數分割,但是分割結果會捨棄末位的空串