我需要拆分一个由"|"分隔的弹簧.当我使用String.split("|")它时,不会给我正确的结果.
String[] arr = "1234|5678".split("|");
System.out.println(arr[1]); \\ This prints "1"
我已经尝试使用转义字符,"\"但是我从Eclipse中获得了一个无效的转义序列错误.
我错过了什么?
您需要了解这里有两个级别的转义:
你想要一个带有模式的正则表达式\|- 但是为了把它写成一个字符串文字,你需要转义\,所以你最终得到:
split("\\|")
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用像Guava这样的Splitter东西,它更易于使用,因为它不会将字符串视为正则表达式 - 尽管它允许您指定Pattern何时需要正则表达式:
Splitter splitter = Splitter.on('|');
...
List<String> list = splitter.splitToList("1234|5678");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |