Java 删除结尾和开头的引号
读了一个cvs文件后,我有很多 " 引号。至少所有字段都以双引号开头,并以两个引号结尾。也可能出现这样的情况,即在两个引号之间还有更多的引号,如以下示例所示: “”在“cvs”文件中的条目“” 目前,我通过以下方式删除它们:Java 删除结尾和开头的引号,java,string,Java,String,读了一个cvs文件后,我有很多 " 引号。至少所有字段都以双引号开头,并以两个引号结尾。也可能出现这样的情况,即在两个引号之间还有更多的引号,如以下示例所示: “”在“cvs”文件中的条目“” 目前,我通过以下方式删除它们: String raw_string = myString.replace("\"", ""); 或 因为这是第一个也是最后一个字符 什么更有效? 还有其他更有效的方法吗?您可以使用正则表达式查找字符串开头和结尾的所有引号,并将它们替换为“” 试穿一下。您可以使用正则表达式
String raw_string = myString.replace("\"", "");
或
因为这是第一个也是最后一个字符
什么更有效?
还有其他更有效的方法吗?您可以使用正则表达式查找字符串开头和结尾的所有引号,并将它们替换为
“”
试穿一下。您可以使用正则表达式:
String rawString = myString.replaceAll("['\"](.+)['\"]", "$1");
"a text"
"another text"
"a text with "nested" quotation"
将返回:
a text
a greater text
a text with "nested" quotation
你可以测试一下
或者,您可以简单地从字符串中删除所有引号:
String rawString = myString.replaceAll("['\"]+", "");
您是否考虑过使用类似opencsv的东西来读取csv文件 (也可在maven central获得)
使用库读取csv文件可能会很方便,但它可能也会处理字符串中的双引号编码。我的一个csv文件约为7 MB,有73.000行。在Android上打开并读取该文件需要5分钟以上的时间。我会从该库中获得任何速度优势吗?Apache Commons csv也是一个不错的选择声明:
a text
a greater text
a text with "nested" quotation
String rawString = myString.replaceAll("['\"]+", "");