在Java中不使用替换函数替换字符

在Java中不使用替换函数替换字符,java,Java,我想替换“那是因为 replaceAll的第一个参数是一个正则表达式,这意味着您必须转义一些字符 您必须返回结果(字符串是不可变的,因此replaceAll不会更改您传递的字符串,而是构建一个新的字符串) 使用 s1=s1.replaceAll(这是因为 replaceAll的第一个参数是一个正则表达式,这意味着您必须转义一些字符 您必须返回结果(字符串是不可变的,因此replaceAll不会更改您传递的字符串,而是构建一个新的字符串) 使用 s1=s1.replaceAll(“Stri

我想替换
“那是因为

  • replaceAll
    的第一个参数是一个正则表达式,这意味着您必须转义一些字符
  • 您必须返回结果(字符串是不可变的,因此
    replaceAll
    不会更改您传递的字符串,而是构建一个新的字符串)
使用

s1=s1.replaceAll(这是因为

  • replaceAll
    的第一个参数是一个正则表达式,这意味着您必须转义一些字符
  • 您必须返回结果(字符串是不可变的,因此
    replaceAll
    不会更改您传递的字符串,而是构建一个新的字符串)
使用


s1=s1.replaceAll(“
String.replaceAll
方法将第一个参数作为
Regex
。因此,您需要转义
)和
,它们在
Regex
中具有特殊意义

或者,您可以使用
Pattern.quote
方法为您转义特殊字符。此外,您需要将
replaceAll
方法的
返回值
存储在
string s1
中。由于Java中的
string
是不可变的,因此您调用的字符串类的任何方法都会返回一个
修改的string
。您需要使用返回值,否则将看不到任何更改

因此,您需要将代码修改为:-

s1 = s1.replaceAll(java.util.regex.Pattern.quote("<(><<)>"),"<");

s1=s1.replaceAll(java.util.regex.Pattern.quote(
String.replaceAll
方法将第一个参数作为
regex
。因此,您需要转义在
regex
中具有特殊意义的
)和

或者,您可以使用
Pattern.quote
方法为您转义特殊字符。此外,您需要将
replaceAll
方法的
返回值
存储在
string s1
中。由于Java中的
string
是不可变的,因此您调用的字符串类的任何方法都会返回一个
修改的string
。您需要使用返回值,否则将看不到任何更改

因此,您需要将代码修改为:-

s1 = s1.replaceAll(java.util.regex.Pattern.quote("<(><<)>"),"<");
s1=s1.replaceAll(java.util.regex.Pattern.quote(“
s1 = s1.replaceAll(java.util.regex.Pattern.quote("<(><<)>"),"<");