- 在工作中遇到的问题
从前端拿到一串数字然后进行截取并分开赋值。
在其中用到了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 将会以最大分割次数分割,但是分割结果会舍弃末位的空串