正则表达式Java正则表达式替换双引号内的双引号
输入字符串为:"outer string "inside a quote" "
输出应该是:"outer string inside a quote "
请建议使用任何正则表达式查找内部双引号,并使用Java替换为空格
你可以在下面搜索框中键入要查询的问题!
输入字符串为:"outer string "inside a quote" "
输出应该是:"outer string inside a quote "
请建议使用任何正则表达式查找内部双引号,并使用Java替换为空格
# 1 楼答案
我认为在这种情况下,regex解决方案(如果可用)可能会稍微复杂一些,以便维护
你能做的就是做这样的事情:
上面的代码将删除所有引号,并在字符串的开头和结尾添加一个引号
编辑:
我想到了这个,它有点复杂,但似乎确实有效:
它产生:
sdsadsaasdasdsadas"sadsadthe is spartaasdsadsa"sdassa
上面的正则表达式基本上将文本分成3个部分,第一组引号之前的部分,内部引号之间的部分和内部引号之后的部分。然后它会重建字符串
编辑:
我使用这段代码从文件中读取字符串(注意,本例中的字符串是1行)
它产生了:
# 2 楼答案
您可以这样尝试,无需正则表达式,只需一次迭代即可:
输出:
"outer string inside a quote abc" something outside quote, and again "outer string inside a quote def "
# 3 楼答案
假设只有一个嵌套级别,并且在外部引号中只有一个内部引号,那么以下操作应该可以工作:
它试图通过单词边界来检测开引号和闭引号。要允许外引号和内引号(而不是单词)之间存在空格,甚至内引号中没有空格,请使用以下命令: