StringTokenizer和String split -对特殊字符进行拆分



我有一个字符串:

2|HOME ELECTRONICS| |0|0| | | | |0| |

我想把上面字符串中所有用|分隔的记号分开。

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

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

我该怎么办?

Try

string.split("\|");

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

这是因为string# split()接受正则表达式作为参数。

regex特殊字符,如.|(等必须转义。否则,Java会认为您实际上使用了特殊字符(例如|表示)。

尝试使用Scanner代替StringTokenizer

    Scanner sc = new Scanner(str);
    sc.useDelimiter("\|");
    while(sc.hasNext()) {
        String e = sc.next();
    }

最新更新