Java 在不使用正则表达式的情况下删除字符串中的子字符串(不能使用replaceAll)
我需要删除字符串中的一些子字符串(在大型数据集中)。子字符串通常包含特殊字符,如:,^,/,。。。replaceAll()将它们视为正则表达式的特殊字符,例如一个点将匹配任何字符,这并不是我真正想要的 是否还有其他函数可以在不将第一个参数视为regex的情况下执行“replace”?只需使用String.replace()。它的功能是相同的,但它在内部处理特殊字符的转义,以避免您担心正则表达式 只需使用String.replace()。它的功能是相同的,但它在内部处理特殊字符的转义,以避免您担心正则表达式Java 在不使用正则表达式的情况下删除字符串中的子字符串(不能使用replaceAll),java,string,substring,replaceall,Java,String,Substring,Replaceall,我需要删除字符串中的一些子字符串(在大型数据集中)。子字符串通常包含特殊字符,如:,^,/,。。。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”
- 在它们前面使用
,就像“\\\”
\\。
- 此外,大多数特殊字符可以通过使用
和“[”
等类似“]”
的字符进行转义[.]
Pattern pat=Pattern.compile("<.]}^", PATTERN.LITERAL");
Pattern pat=Pattern.compile("\\.");