java中,String.split("\\|#\\|")和String.split("\\|#\\|",-1)分割字符串:String string = "N01001|#|"的区别
时间: 2024-10-23 15:09:38 浏览: 28
Java中String.split()用法小结
在Java中,`String.split(regex)`是一个方法,用于根据正则表达式`regex`将字符串切割成一个字符串数组。`"\\|#\\|"`是一个特殊的正则表达式,它匹配`#`字符。如果省略第二个参数,或者传入`-1`,默认行为是返回一个包含所有剩余部分的新数组。
当你执行`string.split("\\|#\\|")`时,它会按照`#`字符将字符串分割,如果原始字符串中有连续的`#`,会被视为单个分隔符。例如:
```
String string = "N01001|#|#";
String[] parts = string.split("\\|#\\|");
// parts可能为["N01001", "", ""]
```
这里得到的结果中,`#`之间的空格不会单独成为数组元素。
另一方面,`string.split("\\|#\\|",-1)`同样按照`#`分割,但是由于`-1`作为第二个参数表示无限次匹配(包括整个字符串),这意味着所有的子串都会被添加到结果数组中,包括原始字符串本身,因为它被视为最后一个匹配项。所以:
```
parts = ["N01001", "#", "#"];
```
阅读全文