我有一个字符串 str=p2\7\2010
,我想检查并替换它,如果str.contains("\")
,则将其替换为("\\\\")
而不是\
。我无法在Java中完成此操作,请您提供一些帮助。
if (str.contains("\\")) {
str = str.replace("\\", "\\\\");
}
你也可以使用String.replaceAll()
,但它使用正则表达式,所以在这种琐碎的情况下速度较慢。
更新:
String.replace()
的实现也基于正则表达式,但是编译模式为Pattern.LITERAL。
试试这个,
String newString = oldString.replace("/", "//");
或者尝试使用模式方法,
Pattern pattern = Pattern.compile("/");
Matcher matcher = pattern.matcher("abc/xyz");
String output = matcher.replaceAll("//");
str.contains("\"")
匹配包含 " 字符的字符串。
你可能需要的是 str.replaceAll("\\", "\\\\")
另外,如果要检查字符串是否包含 \,则需要使用str.contains("\\")
,因为 \ 是一个特殊字符,必须转义。
if (str.contains("\\"))
将检查str
是否包含\
。但这是多余的。你可以直接调用str = str.replace("\\", "\\\\");
,如果没有要替换的内容,你将得到原始字符串的副本。 - Michał Šrajer