string.split( “_(B”)

时间:2011-07-22 18:01:12

标签: java arrays string split

基本上这行代码不起作用,我不确定为什么:

    String[] stringHolder = string.split("_(B");

我收到此错误:索引3附近的未关闭组

但是这行代码有效:

    String[] stringHolder = string.split("_B");

所以这让我相信它是由“(”)引起的。有谁能告诉我如何使这项工作?

3 个答案:

答案 0 :(得分:9)

(是正则表达式中的特殊字符,您需要使用\来转义它。由于\需要在字符串文字中进行转义,因此您需要添加两个:

String[] stringHolder = string.split("_\\(B");

更多信息:Use Round Brackets for Grouping

答案 1 :(得分:5)

split()方法采用正则表达式,而不是字符串文字。所以你需要转义左括号/括号:

String[] stringHolder = string.split("_\\(B");

括号是正则表达式中的特殊字符,用于组。

答案 2 :(得分:1)

某些特殊字符需要转义,可能会"_\\(B"可能有用。