在 Java 中从字符串中删除特定的双引号 [已关闭]

Removing specific double quotes from a string in Java [closed]

提问人:amar19 提问时间:12/10/2018 最后编辑:amar19 更新时间:12/12/2018 访问量:85

问:


想改进这个问题吗?通过编辑这篇文章来更新问题,使其仅关注一个问题。

4年前关闭。

我有一个字符串,我想去掉字符串中的多个双引号,因为我想把它作为字符串传递给字段。

例如:

String input = """greeen"" apple juice"

它应该打印。

String output = ""greeen" apple juice"

请提出任何简单的解决方案,因为在输入字符串中有双引号的多种可能性,并且我需要保留它们的单独出现。

谢谢!

Java 正则表达 式字符串 引用

评论

0赞 Saif Ahmad 12/10/2018
到目前为止,你尝试了什么?
0赞 ASR 12/10/2018
Java 中的 String 是用双引号括起来的字符序列。在您的输出中,它将如何成为字符串?
0赞 amar19 12/10/2018
@ASR 我不关心结束引号。他们没关系,因为它需要字符串。我需要省略字符串内 2 个或更多双引号和单个条目的多种可能性。

答:

1赞 amin saffar 12/10/2018 #1

添加 + 量词,表示“一个或多个”:

//use    .replaceAll("(\")+", "\"");
input = input.replaceAll("(\")+", "\"");

评论

1赞 Michael 12/10/2018
这是一个轻微的优化,而不是因为,在只有一个引号的情况下,您将对 for 进行不必要的替换。{2,}+""
1赞 Michael 12/10/2018 #2

一个简单的方法是使用正则表达式替换,将多个引号替换为一个引号。"{2,}"

String output = input.replaceAll("\"{2,}", "\"");

评论

0赞 amar19 12/10/2018
不,这行不通。我以前试过。它仍然给我相同的字符串 --> “”“greeen”“”apple juice”。
0赞 Michael 12/10/2018
@amar19 对不起,是字面上的替换。它应该是 ,这是一个正则表达式替换。我已经编辑了我的答案。replacereplaceAll
0赞 amar19 12/11/2018
是的,我也尝试过 replaceAll,但是输出字符串是 --> [ “greeen” apple juice“ ],引号与我预期的不符。你能告诉我如何像这样在字符串开头获得双引号吗 --> [“”greeen“ apple juice” ]。稍后会处理 String,因此引号需要同时具有开头和结尾。