string.split( "_(B")

gFu*_*gFu 2 java arrays string split

基本上这行代码不起作用,我不太清楚为什么:

    String[] stringHolder = string.split("_(B");
Run Code Online (Sandbox Code Playgroud)

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

但是这行代码有效:

    String[] stringHolder = string.split("_B");
Run Code Online (Sandbox Code Playgroud)

所以这让我相信它是由"(")引起的.任何人都可以告诉我如何使这项工作?

Bar*_*ers 9

(是正则表达式中的一个特殊字符,你需要用它来逃避它\.因为\需要在字符串文字中进行转义,所以添加两个:

String[] stringHolder = string.split("_\\(B");
Run Code Online (Sandbox Code Playgroud)

更多信息:使用Round Brackets进行分组


Ric*_*d H 5

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

String[] stringHolder = string.split("_\\(B");
Run Code Online (Sandbox Code Playgroud)

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