|在java字符串中无法识别。split()方法
我对java字符串有问题。分割法
我有一个像这样的字符串,它等于-freshness|originality
。然后按如下方式拆分此字符串:
String words[] = word.split("|");
如果我随后输出单词[1],如下所示:
t1.setText(words[1]);
它给了我f的值。我已经计算出这是单词freshness
中的f
如何正确分割字符串,使单词[1]实际上是originality
?谢谢你的帮助
# 1 楼答案
您需要转义管道,因为java将其识别为正则表达式或运算符
"|"
get被解析为“空字符串或空字符串”,这不是您试图查找的内容记录在案
…?.+^:-$*
都是正则表达式运算符,需要转义
# 2 楼答案
你需要转义这个角色。使用
"\\|"
有关正则表达式转义字符here的详细信息
# 3 楼答案
# 4 楼答案
你应该逃避它:
请在此处的类似问题中检查此解释:Why does String.split need pipe delimiter to be escaped?
String对象的
split()
方法有一个正则表达式作为参数。这意味着未转换的|
不会被解释为字符,而是被解释为或,表示“空字符串或空字符串”