清除字符串中的引号

时间:2013-10-24 23:02:51

标签: java regex string replace

我有一个字符串:

"Very ""Good"" title"

我需要让它看起来像这样:

Very "Good" title

我该怎么做?

很抱歉缺乏说明。这是正在发生的事情: 我有一个文件,其中的行如下:

"Very ""Good"" title" 21 1231 1111 [zcz]

我需要分成

"Very ""Good"" title"
21
1231
1111 
[zcz]

然后,"Very ""Good"" title"替换为Very "Good"" title

3 个答案:

答案 0 :(得分:3)

使用带有negative lookahead的正则表达式怎么样?具体来说:"(?!")

String s = "\"Very \"\"Good\"\" title\"";

System.out.println(s.replaceAll("\"(?!\")", ""));
Very "Good" title

我在这里假设您要用n-1引号替换每个n引号的运行,这相当于删除此类运行中的最后一个引号。这正是我们正在用这个正则表达式做的事情;我们正在匹配并删除所有未引用其他引号的引号:

Regular expression visualization

Debuggex Demo

答案 1 :(得分:0)

String s = "Very \"Good\" title";
System.out.println(s);

结果=非常“好”的标题

答案 2 :(得分:0)

获得一个可以处理Microsoft Excel工作表的优秀CSV解析器。解析器将为您完成工作,您可以专注于真正的任务。

或者,如果数据来自其他来源,请为该格式获取预先构建的解析器。其他人肯定写过一个。不要做别人已经成功完成的工作。