基本上这行代码不起作用,我不确定为什么:
String[] stringHolder = string.split("_(B");
我收到此错误:索引3附近的未关闭组
但是这行代码有效:
String[] stringHolder = string.split("_B");
所以这让我相信它是由“(”)引起的。有谁能告诉我如何使这项工作?
答案 0 :(得分:9)
(
是正则表达式中的特殊字符,您需要使用\
来转义它。由于\
需要在字符串文字中进行转义,因此您需要添加两个:
String[] stringHolder = string.split("_\\(B");
答案 1 :(得分:5)
split()
方法采用正则表达式,而不是字符串文字。所以你需要转义左括号/括号:
String[] stringHolder = string.split("_\\(B");
括号是正则表达式中的特殊字符,用于组。
答案 2 :(得分:1)
某些特殊字符需要转义,可能会"_\\(B"
可能有用。