在Java中从字符串中删除特定的双引号
我有一个字符串,我想去掉字符串中的多个双引号,因为我想把它作为字符串传递给字段 例如:在Java中从字符串中删除特定的双引号,java,regex,string,quotes,Java,Regex,String,Quotes,我有一个字符串,我想去掉字符串中的多个双引号,因为我想把它作为字符串传递给字段 例如: String input = """greeen"" apple juice" 应该打印出来 String output = ""greeen" apple juice" 请建议任何简单的解决方案,因为在输入字符串中有多个双引号的可能性,我需要保留它们的单独出现 谢谢 添加+量词,表示“一个或多个”: 一种简单的方法是使用正则表达式替换将多个引号“{2,}替换为一个” 到目前为止,您尝试了什么?java中
String input = """greeen"" apple juice"
应该打印出来
String output = ""greeen" apple juice"
请建议任何简单的解决方案,因为在输入字符串中有多个双引号的可能性,我需要保留它们的单独出现
谢谢 添加+量词,表示“一个或多个”:
一种简单的方法是使用正则表达式替换将多个引号
“{2,}
替换为一个”
到目前为止,您尝试了什么?java中的字符串是包含在双引号中的字符序列。在您的输出中,哪里是字符串?@ASR我不关心结束引号。他们是好的,因为它需要字符串。字符串中有两个或多个双引号和我需要省略的单个条目的多种可能性。使用
{2,}
而不是+
是一种轻微的优化,因为在只有一个引号的情况下,您将对“
进行不必要的替换”
。不,这不起作用。我以前试过。它仍然给我相同的字符串-->“green”苹果汁。@amar19对不起,replace
是一个字面替换。它应该是replaceAll
,这是一个正则表达式替换。我已经编辑了我的答案。是的,我也尝试过使用replaceAll,但是输出字符串是-->[“green”apple juice],引号不是我所期望的。你能告诉我如何获得字符串开头的双引号-->[“green”apple juice]。字符串将在稍后处理,因此引号需要有开始和结束。
//use .replaceAll("(\")+", "\"");
input = input.replaceAll("(\")+", "\"");
String output = input.replaceAll("\"{2,}", "\"");