繁体   English   中英

StringTokenizer和字符串拆分-特殊字符拆分

[英]StringTokenizer and String split - split on special character

我有字符串:

2 |家用电子| | 0 | 0 | | | | | 0 | |

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

我试图用StringTokenizer将其标记化,但它不将空间视为标记。

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

我该怎么办?

尝试

string.split("\\|");

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

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

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

尝试使用Scanner而不是StringTokenizer

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM