提问人:amar19 提问时间:12/10/2018 最后编辑:amar19 更新时间:12/12/2018 访问量:85
在 Java 中从字符串中删除特定的双引号 [已关闭]
Removing specific double quotes from a string in Java [closed]
问:
我有一个字符串,我想去掉字符串中的多个双引号,因为我想把它作为字符串传递给字段。
例如:
String input = """greeen"" apple juice"
它应该打印。
String output = ""greeen" apple juice"
请提出任何简单的解决方案,因为在输入字符串中有双引号的多种可能性,并且我需要保留它们的单独出现。
谢谢!
答:
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 对不起,是字面上的替换。它应该是 ,这是一个正则表达式替换。我已经编辑了我的答案。replace
replaceAll
0赞
amar19
12/11/2018
是的,我也尝试过 replaceAll,但是输出字符串是 --> [ “greeen” apple juice“ ],引号与我预期的不符。你能告诉我如何像这样在字符串开头获得双引号吗 --> [“”greeen“ apple juice” ]。稍后会处理 String,因此引号需要同时具有开头和结尾。
评论