Lak*_*age -1 java string replaceall
我有一个字符串
"age = 18 || name ='Mistic'|| civilstatus ='married'|| gender ='0'"
我需要替换"||" 通过"或".我试着跟随代码.
System.out.println("age = 18 || name = 'Mistic' || civilstatus = 'married' || gender = '0'".replaceAll("||", "OR"));
Run Code Online (Sandbox Code Playgroud)
但我得到了
"ORaORgOReOR OR = OR OR1OR8OR OR |和| OR ORnORaORmOReOR OR = OR OR'ORMORiORsORtORiORcOR'OR OR |和| OR ORcORiORvORiORlORsORtORaORtORuORsOR OR = OR OR'ORmORaORrORrORiOReORdOR'OR OR |和| OR ORgOReORnORdOReORrOR OR = OR OR'OR0OR'OR"
我需要的是
"年龄= 18或姓名='Mistic'或civilstatus ='已婚'或性别='0'"
我怎样才能做到这一点.
编辑我已经阅读了这个问题的问题和答案,并不是类似的.因为这个问题是关于替换字符串而我的问题是关于为我的代码获取不熟悉的结果.
Sca*_*bat 10
replaceAll当你不想用正则表达式取代时,为什么使用它?
尝试使用正常 replace
System.out.println("age = 18 || name = 'Mistic' || civilstatus = 'married'
|| gender = '0'".replace("||", "OR"));
Run Code Online (Sandbox Code Playgroud)
产量
年龄= 18或姓名='Mistic'或civilstatus ='已婚'或性别='0'
|在正则表达式中有特殊含义.你需要逃脱它.
public static void main(String[] args) {
String s = "age = 18 || name = 'Mistic' || civilstatus = 'married' || gender = '0' ";
System.out.println(s.replaceAll("\\|\\|", "OR"));
}
Run Code Online (Sandbox Code Playgroud)
O/P:
age = 18 OR name = 'Mistic' OR civilstatus = 'married' OR gender = '0'
Run Code Online (Sandbox Code Playgroud)
PS:或者,您可以使用Pattern.quote()转义特殊字符.
String st = Pattern.quote("||");
System.out.println(s.replaceAll(st, "OR"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1207 次 |
| 最近记录: |