我试图通过方法& = ~ ^将Java扫描程序与以下定界符useDelimiter("&|=|~|^");(和号,等于,代字号,插入符)一起使用。

除了^之外,所有分隔符都可以正常工作:为什么?

我在扫描仪文档中看不到原因。

最佳答案

您需要转义^,如下所示:useDelimiter("&|=|~|\\^")。这是因为^是正则表达式中的元字符,并且StringuseDelimiter()参数最终被编译为正则表达式Pattern

同样,您可以这样编写定界符,在这种情况下,无需转义^useDelimiter("[&=~^]")

07-24 19:29