我试图用引号替换列表中的所有|' s,我试过了
serverList.replaceAll("|", "\"");
但它似乎没有用,它没有改变任何东西,我做错了吗?
答案 0 :(得分:0)
replaceAll()
的第一个参数需要一个正则表达式。字符|
是正则表达式中的控制字符。为了使正则表达式解析器理解您“字面上”意味着|
,您应该将\|
传递给正则表达式解析器。但是\
是Java中的控制字符。为了使Java明白您要将\|
传递给正则表达式解析器,您应该将\\|
作为第一个参数传递给replaceAll()
方法。
当然,您也可以使用replace()
方法,该方法不会将第一个参数解释为正则表达式:serverList.replace("|", "\""")
(或在此特定情况下为serverList.replace('|','"')
)将返回所需的字符串。