output: "-6ren">
gpt4 book ai didi

java - 用于删除内部双引号的正则表达式

转载 作者:行者123 更新时间:2023-12-01 23:52:03 26 4
gpt4 key购买 nike

我有一个带有外部双引号的字符串""。我需要删除内部双引号。这个的正则表达式是什么?

例如:

input: "Hello there "I arrive" tonight" ---> output: "Hello there I arrive tonight"
input: "Hello there "I arrive tonight"" ---> output: "Hello there I arrive tonight"
input: ""Hello" there I arrive tonight" ---> output: "Hello there I arrive tonight"

我尝试了以下代码,但它不适用于我的示例 2 和 3。它适用于示例 1。

data.replaceAll("\"(\\b[^\"]+)?\"\\b([^\"]+)\\b\"([^\"]+\\b)?\"","\"$1$2$3\"");

背景:我有一个 CSV 文件,需要解析它。数据带有外引号内的内引号。例如:

"aa","bb","cc","dd "REMOVE QUOTES" "
"aaa","bbb","ccc",""REMOVE QUOTES" ddd "

我希望正则表达式仅删除内部引号并保留外部引号。输出:

"aa","bb","cc","dd REMOVE QUOTES "
"aaa","bbb","ccc","REMOVE QUOTES ddd "

最佳答案

您可以结合使用负向后看和向前看:

data = data.replaceAll("(?<!^)\"(?!$)", "")
  • (?<!^)行开头的负向后查找
  • (?!$)负向预测 EOL

关于java - 用于删除内部双引号的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16181793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com