我试图通过方法& = ~ ^
将Java扫描程序与以下定界符useDelimiter("&|=|~|^");
(和号,等于,代字号,插入符)一起使用。
除了^
之外,所有分隔符都可以正常工作:为什么?
我在扫描仪文档中看不到原因。
最佳答案
您需要转义^
,如下所示:useDelimiter("&|=|~|\\^")
。这是因为^
是正则表达式中的元字符,并且String
的useDelimiter()
参数最终被编译为正则表达式Pattern
。
同样,您可以这样编写定界符,在这种情况下,无需转义^
:useDelimiter("[&=~^]")