Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java string.split(";(B";)_Java_Arrays_String_Split - Fatal编程技术网

Java string.split(";(B";)

Java string.split(";(B";),java,arrays,string,split,Java,Arrays,String,Split,基本上,这行代码不起作用,我不太清楚为什么: String[] stringHolder = string.split("_(B"); 我得到这个错误:索引3附近的未关闭组 但是,这一行代码可以工作: String[] stringHolder = string.split("_B"); 这让我相信它是由“(”)引起的。有人能告诉我怎么做吗?split()方法采用正则表达式,而不是字符串文本。因此,您需要转义左括号/括号: String[] stringHolder = st

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

    String[] stringHolder = string.split("_(B");
我得到这个错误:索引3附近的未关闭组

但是,这一行代码可以工作:

    String[] stringHolder = string.split("_B");
这让我相信它是由“(”)引起的。有人能告诉我怎么做吗?

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

String[] stringHolder = string.split("_\\(B");
括号是正则表达式中的特殊字符,用于组。

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

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

更多信息:

一些特殊字符需要转义,可能放
“\\(B”
可能会起作用。

有点奇怪:“不是字符串”,而是+1