java 擦除结尾和开头的引号

h4cxqtbf  于 2023-05-05  发布在  Java
关注(0)|答案(3)|浏览(163)

看了一个cvs文件后,我有很多

引号。至少所有字段都以双引号开始,并以两个引号结尾。还可能发生的是,在中间还存在另外的引号,如以下示例中所示:
““cvs”文件中的条目””
目前我删除它们:

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

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

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

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

ttisahbt

ttisahbt1#

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

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

ideone上试试。

gdx19jrr

gdx19jrr2#

你可以用Regex来实现:

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("['\"]+", "");
bjp0bcyl

bjp0bcyl3#

你有没有考虑过使用类似opencsv的东西来读取csv文件?
http://opencsv.sourceforge.net/
(also在maven central提供)
使用库读取csv文件可能会很方便,但它也可能会处理字符串中编码的双引号。

相关问题