我有CSV文件,其中包含以下行。
INPUT:
No,NAme,ID,Description
1,Stack,232,"ABCDEFGHIJKLMNO \n -- Jiuaslkm asdasdasd"
2,Queue,454,"PQRSTUVWXYZ \n -- Other \n words here"
3,Que,4343,"sdfwerrew"
输出预期:
No,NAme,ID,Description
1,Stack,232,"ABCDEFGHIJKLMNO -- Jiuaslkm asdasdasd"
2,Queue,454,"PQRSTUVWXYZ -- Other words here"
3,Que,4343,"sdfwerrew"
或
<div>
是否有任何java正则表达式模式可用于查找和合并基于起始双引号和结束引号的行?
答案 0 :(得分:3)
你走错了路。并非一切都应该使用正则表达式来解决。 CSV解析就是其中之一。
说真的:你即将重新发明轮子。而你即将创造的车轮将会出现缺陷,并且容易一次又一次地打破。
理智方法:Java中有许多现有的CSV解析器。它们完美地处理多线值。所以:使用其中一个(参见here作为你有很多选择的起点)
有一个很好的经验法则:当你的正则表达式变得如此复杂以至于你不能自己写下来时;然后考虑做不同的事情。您是拥有此代码的人;你将不得不维护并可能增强它 - 而不是那些能够写下正则表达式来解决这个一个类型的CSV示例输入的人。