我试图从“中删除双引号”;234521“;并在java中获得输出为234521

我试图从“中删除双引号”;234521“;并在java中获得输出为234521,java,regex,Java,Regex,我有一个CSV文件,其中的值如下: “12342”、“红色”、“世界” 为了处理java中的代码,我希望删除双引号并将其分配给特定变量。像这样: String number=num.replaceAll(“^\”|\“$”,”) 注意:引号将始终出现在值的开头和结尾 但是数字的输出是“12342”,而不是12342。我应该写什么来替换那些双引号 提前谢谢 String number = num.replaceAll("[^\\p{IsDigit}\\p{IsAlphabetic}.,]

我有一个CSV文件,其中的值如下:

“12342”、“红色”、“世界”

为了处理java中的代码,我希望删除双引号并将其分配给特定变量。像这样:

String number=num.replaceAll(“^\”|\“$”,”)

注意:引号将始终出现在值的开头和结尾

但是数字的输出是“12342”,而不是12342。我应该写什么来替换那些双引号

提前谢谢

String number = num.replaceAll("[^\\p{IsDigit}\\p{IsAlphabetic}.,]", "");
这将适用于所有字符串,无论它们是数字还是文本。
regex
替换所有非数字或字母的内容,因此将从CSV字段中删除引号。不删除
也不删除


对于报价单,备选方案应为:

String number = num.replace("\"", "");

您需要反斜杠
\
来转义双引号。

也可以使用下面的正则表达式


String number=num.replaceAll(“^\”|\“$”,”)

使用CSV解析工具并指定双引号作为转义字符。您不应该自己处理这个问题。如果您已经解析了CSV,您可以尝试
Integer.parseInt(“123456”)
Integer.valueOf(“123456”)
。如果无法将值转换为整数,两者都会引发异常。我同意Tim的观点。正确解析任意CSV数据比您想象的要困难得多。除非这纯粹是为了教育,否则你不应该重新发明轮子。你的轮子会有毛病的,而且会不断地制造麻烦。我对蒂姆感到不满。如果有疑问,想想像这样的一句话,
“他说”我是你的父亲“,“另一个值”
。我不能使用CSV解析工具。它只能通过代码来完成。在后端,该特定值是字符串,因此我们不需要解析它。我只是想替换双引号。我使用了这个表达式,但它不起作用。你还有其他的方法吗?