只是一个简单的问题:
String input = "sam|y|rutgers"; String[] splitInput = input.split("|"); System.out.println(Arrays.toString(splitInput)); Output: [, s, a, m, |, y, |, r, u, t, g, e, r, s]
我想拆分管道角色来获得[sam,y,rutgers]
知道我在这里做错了吗?
尝试其中一个
split("\\|")
split("[|]")
split(Pattern.quote("|"))
split("\\Q|\\E")
split
方法使用正则表达式作为参数,在正则表达式中|
表示OR,因此当前表达式表示空字符串或空字符串.
如果你想制作|
简单的文字,你需要逃避它.要做到这一点,你可以
\
在正则表达式引擎中放置它在String中将被写为"\\|"
.
使用字符类[...]
来逃避大多数正则表达式元字符split("[|]")
或环绕你的特殊字符\\Q
和\\E
这将使每个字符(无论是否是特殊或不)简单的文字.该解决方案用于Pattern.quote("regex")
.