删除结尾和开头的引号

时间:2016-05-11 13:59:07

标签: java string

读完cvs文件后,我有很多

  

引号。至少所有字段都以双引号开头,并以两个字符结尾。它也可能发生在两者之间还有更多的引号,如下例所示:

  

“”在“cvs”文件中输入“”

目前我将其删除:

String raw_string = myString.replace("\"", "");

String raw_string = myString.substring(1, mystring.length() -1);

因为它是第一个也是最后一个字符..

什么更有效? 还有其他更有效的方法吗?

3 个答案:

答案 0 :(得分:1)

您可以使用正则表达式查找字符串开头和结尾的所有引号,并将其替换为""

myString.replaceAll("^\"*|\"*$","");

ideone上试用。

答案 1 :(得分:1)

你可以用正则表达式来做到这一点:

String rawString = myString.replaceAll("['\"](.+)['\"]", "$1");

"a text"
"another text"
"a text with "nested" quotation"

将返回:

a text
a greater text
a text with "nested" quotation

您可以对其进行测试here

或者您只需从字符串中删除所有引号:

String rawString = myString.replaceAll("['\"]+", "");

答案 2 :(得分:0)

您是否考虑过使用opencsv之类的东西来阅读csv文件?

http://opencsv.sourceforge.net/

(也可在maven中心使用)

使用库来读取csv文件可能很方便,但它也可能会处理字符串中的编码双引号。