【发布时间】:2016-09-30 08:06:24
【问题描述】:
我有一个类似
的字符串"年龄 = 18 || 姓名 = 'Mistic' || 公民身份 = '已婚' || 性别 = '0' "
我需要替换“||”通过“或”。我尝试了以下代码。
System.out.println("age = 18 || name = 'Mistic' || civilstatus = 'married' || gender = '0'".replaceAll("||", "OR"));
但我明白了
"ORaORgOReOR OR=OR OR1OR8OR OR|OR|OR ORnORaORmOREOR OR=OR OR'ORMORiORsORtoriORcOR'OR OR|OR|OR ORCORIORVORIORLORsORTORAORTORUORsOR OR=OR OR'ORmORaORrORrORiOReORdOR'OR OR|OR|OR ORgOReORnORdOReORrOR OR=OR OR'OR0OR'OR"
我需要的是
“年龄 = 18 或姓名 = 'Mistic' 或公民身份 = '已婚' 或性别 = '0' "
我怎样才能做到这一点。
编辑 我已经阅读了this question 的问题和答案,它并不相似。因为那个问题是关于替换字符串,而我的问题是关于让我的代码得到不熟悉的结果。
【问题讨论】:
-
@ErwinBolwidt 这个问题与我的问题不重复。
-
为什么不是重复的?该问题的OP与您有同样的困惑,答案是相同的。您还应该查看您自己问题的最高投票答案。重复的答案更好地解释了为什么您可能会在
replaceAll和replace之间感到困惑。 -
这是因为
replaceAll采用正则表达式,例如split。查看链接的问题。
标签: java string replaceall