Java 在不使用正则表达式的情况下删除字符串中的子字符串(不能使用replaceAll)

Java 在不使用正则表达式的情况下删除字符串中的子字符串(不能使用replaceAll),java,string,substring,replaceall,Java,String,Substring,Replaceall,我需要删除字符串中的一些子字符串(在大型数据集中)。子字符串通常包含特殊字符,如:,^,/,。。。replaceAll()将它们视为正则表达式的特殊字符,例如一个点将匹配任何字符,这并不是我真正想要的 是否还有其他函数可以在不将第一个参数视为regex的情况下执行“replace”?只需使用String.replace()。它的功能是相同的,但它在内部处理特殊字符的转义,以避免您担心正则表达式 只需使用String.replace()。它的功能是相同的,但它在内部处理特殊字符的转义,以避免您担心

我需要删除字符串中的一些子字符串(在大型数据集中)。子字符串通常包含特殊字符,如:,^,/,。。。replaceAll()将它们视为正则表达式的特殊字符,例如一个点将匹配任何字符,这并不是我真正想要的

是否还有其他函数可以在不将第一个参数视为regex的情况下执行“replace”?

只需使用String.replace()。它的功能是相同的,但它在内部处理特殊字符的转义,以避免您担心正则表达式

只需使用String.replace()。它的功能是相同的,但它在内部处理特殊字符的转义,以避免您担心正则表达式


只需使用,而不是
replaceAll
String.replace
不会将其参数视为正则表达式。

只需使用,而不是
replaceAll
String.replace
不将其参数视为正则表达式。

String
类中有两个名为
replace
的方法执行替换,而不将其参数视为正则表达式

一种方法将一个
char
替换为另一个
char

另一种方法用另一种
CharSequence
替换
CharSequence
(通常是
String

引用第二个
replace
方法中的Javadocs:

替换此字符串中与文字目标匹配的每个子字符串 具有指定的文字替换序列的序列


String
类中,有两个名为
replace
的方法执行替换,而不将其参数视为正则表达式

一种方法将一个
char
替换为另一个
char

另一种方法用另一种
CharSequence
替换
CharSequence
(通常是
String

引用第二个
replace
方法中的Javadocs:

替换此字符串中与文字目标匹配的每个子字符串 具有指定的文字替换序列的序列


你可以从字面上匹配。例如,如果我们想匹配“你可以逐字匹配。例如,如果我们想匹配” 是否有其他功能来执行“替换”

是的,它被称为:)它和的主要区别是它转义正则表达式特殊字符


顺便说一句,如果你想转义正则表达式的字符串中的特殊字符,你可以

  • 使用
    yourString=Pattern.quote(yourString)
  • “\\Q”
    “\\E”
    环绕它
要仅转义某些特殊字符,您可以

  • 在它们前面使用
    “\\\”
    ,就像
    \\。
  • 此外,大多数特殊字符可以通过使用
    “[”
    “]”
    等类似
    [.]
    的字符进行转义
是否有其他功能来执行“替换”

是的,它被称为:)它和的主要区别是它转义正则表达式特殊字符


顺便说一句,如果你想转义正则表达式的字符串中的特殊字符,你可以

  • 使用
    yourString=Pattern.quote(yourString)
  • “\\Q”
    “\\E”
    环绕它
要仅转义某些特殊字符,您可以

  • 在它们前面使用
    “\\\”
    ,就像
    \\。
  • 此外,大多数特殊字符可以通过使用
    “[”
    “]”
    等类似
    [.]
    的字符进行转义

我可能弄错了,但我相信您可以用\,so \来转义Java中的正则表达式特殊字符。将被视为常规字符。您可以使用“\”跳转特殊字符,例如:\\^@Kon Yes,但由于在字符串文本中转义,因此使用了两个反斜杠。我可能弄错了,但我相信您可以使用\,so\,在Java中转义正则表达式特殊字符。将被视为常规字符。您可以使用“\”跳转特殊字符,例如:\\^@Kon Yes,但由于以字符串文字转义,因此使用了两个反斜杠。
Pattern pat=Pattern.compile("<.]}^", PATTERN.LITERAL");
Pattern pat=Pattern.compile("\\.");