我正在尝试使用方法& = ~ ^
将Java扫描程序与以下一组分隔符useDelimiter("&|=|~|^");
(&符号,等号,代字号,插入符号)一起使用。
除^
之外,所有分隔符都可以正常工作,但这会被忽略:为什么会这样?
我无法在扫描仪文档中看到原因。
答案 0 :(得分:3)
您需要转义^
,如下所示:useDelimiter("&|=|~|\\^")
。这是因为^
是正则表达式中的元字符,而String
的{{1}}参数最终会被编译为正则表达式Pattern
。
同样地,您可以像这样编写分隔符,在这种情况下,无需转义useDelimiter()
:^
答案 1 :(得分:2)
^
是正则表达式中的保留符号,因此您需要将其转义:\\^
。
答案 2 :(得分:1)