java - 解析字符串的效果不符合预期

标签 java regex string

有一个字符串我试图用“|”解析符号:

1-20|21-40|41-60|61-80|81-100|101-120|121-131

String[] arr = text.split("|");

for(int i = 0; i <arr.length; i++){
    System.out.println( arr[i] );
}

它解析每个字符,例如

1
-
2
0
|
2
1
...

如何解析源字符串中的元素,例如:

1-20

最佳答案

| 是 Java 正则表达式语法中的特殊字符,表示两个匹配组之间的逻辑“或”。如果你想匹配|文字,你需要转义它:

String[] arr = text.split("\\|");

关于java - 解析字符串的效果不符合预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43961581/

相关文章:

java - 是什么阻止我使用我创建的对象数组?

java - 使用wordnet api检查地名、人名或组织名

java - 如何让自动完成在Jdee模式下使用java模式?

java - 使用正则表达式匹配非单词字符但不匹配笑脸

java - 忽略Maven版本号规则的坏处

查找重复组的 Java 模式

c# - 特殊情况的正则表达式

python - 如何在numpy数组中拆分字符串?

python - 通过正则表达式修改字符串列表

c - 使用 strtok() 输入字符串或声明字符串的区别