0

每次我尝试使用拆分字符串时"hello*world"都会s.split("*");得到 PatternSyntaxException。

我试过使用s.split("\*");,但这给了我另一个错误。我确定这很简单。

我该如何阻止这个?

4

2 回答 2

5

*是正则表达式中的元字符,用作通配符量词以匹配零个或多个字符

尝试使用 2 个反斜杠字符

s.split("\\*");
于 2013-10-07T11:02:19.727 回答
3

split方法将正则表达式作为参数,而不是普通字符串。在*正则表达式中具有特殊含义。如果要拆分文字*,则必须使用反斜杠对其进行转义。但是反斜杠也是 Java 字符串文字中的转义字符,因此您也必须使用两个反斜杠来转义反斜杠:

s.split("\\*")
于 2013-10-07T11:04:16.753 回答