我有字符串:
2 | HOME ELECTRONICS | | 0 | 0 | | | | | 0 | |
我想在上面的字符串中分隔由|
分隔的所有标记。
我尝试使用StringTokenizer
对其进行标记,但它不会将空格视为令牌。
此外,我尝试了split("|")
,但它将上述字符串的每个字符作为返回字符串数组中的元素。
我该怎么办?
答案 0 :(得分:8)
尝试
string.split("\\|");
|
是一个特殊字符,必须使用转义字符\
进行处理。在Java \
中写为\\
。
这是因为String#split()将正则表达式作为参数。
在正则表达式中,必须转发.
,|
,(
等特殊字符。否则,Java会认为您实际上正在使用特殊字符(例如|
表示 OR )。
答案 1 :(得分:0)
尝试使用Scanner而不是StringTokenizer
Scanner sc = new Scanner(str);
sc.useDelimiter("\\|");
while(sc.hasNext()) {
String e = sc.next();
}