1

我有字符串:

2|家用电器| |0|0| | | | |0| |

我想分隔|上面字符串中由分隔的所有标记。

我试图用它来标记它,StringTokenizer但它不认为空间是一个标记。

另外,我尝试过,split("|")但它将上述字符串的每个字符作为返回的字符串数组中的元素。

我应该怎么办?

4

2 回答 2

8

尝试

string.split("\\|");

|是一个特殊字符,必须用转义字符分隔\。在 Java\中写为\\.

那是因为String#split()正则表达式作为参数。

正则表达式中,必须转义特殊字符,如., |,等。(否则,Java 会认为您实际上是在使用特殊的字符(例如|表示OR)。

于 2013-06-17T13:04:43.057 回答
0

尝试 Scanner 而不是 StringTokenizer

    Scanner sc = new Scanner(str);
    sc.useDelimiter("\\|");
    while(sc.hasNext()) {
        String e = sc.next();
    }
于 2013-06-17T13:40:32.113 回答