Java 遇到特定字符序列后插入两个双引号

Java 遇到特定字符序列后插入两个双引号,java,regex,string,csv,Java,Regex,String,Csv,我一直在网上搜索适合这个要求的代码,但没有得到任何 我有这个csv文件(值不准确,实际csv的一个字段包含bmp图像代码) “姓名”、“角色编号”、“章节”、“座位”、“评论” “Abhik”,“45”,“AVC”,“A112004DDG”,“你好3434?” “Bob”、“AVC”、“FDF1212”、“在此字段中,用户可能会错误地添加两个逗号,如、、或、” “约翰”,“又来了” 要求是在每隔两个或多个之间插入一个“”,(逗号)(或逗号将告诉我,字段值是空白的,除了用户可以输入错误的注释字段,

我一直在网上搜索适合这个要求的代码,但没有得到任何

我有这个csv文件(值不准确,实际csv的一个字段包含bmp图像代码)

“姓名”、“角色编号”、“章节”、“座位”、“评论” “Abhik”,“45”,“AVC”,“A112004DDG”,“你好3434?” “Bob”、“AVC”、“FDF1212”、“在此字段中,用户可能会错误地添加两个逗号,如、、或、” “约翰”,“又来了”

要求是在每隔两个或多个之间插入一个“”,(逗号)(或逗号将告诉我,字段值是空白的,除了用户可以输入错误的注释字段,如示例所示),这样程序就可以理解空白值。(这是一个现有的逻辑,如果我能帮助的话,我不想改变太多)

因此,在解析csv之后,行应该如下所示 “姓名”、“角色编号”、“章节”、“座位”、“评论” “Abhik”,“45”,“AVC”,“A112004DDG”,“你好3434?” “Bob”、“AVC”、“fdf1212”、“在此字段中,用户可能会错误地添加两个逗号,如、、、、” “约翰”,“又来了”


请帮助!提前感谢!

如果您正在使用CSV文件,请使用Apache CSV库……它们将帮助您消除两个逗号之间的所有引号和空值

这里的问题是,不能使用字符串的replace或replaceAll,因为这些逗号也可以是引号中的值的一部分…

String s=“achintya,jha,,kumar”;
String s = "achintya,jha,,kumar";
String newStr="";
for(int i = 0 ; i < s.length(); i++){
   if(s.charAt(i)==',' && s.charAt(i+1)==','){
        newStr =newStr + s.charAt(i) + "\"\"" + s.charAt(i+1);
        i=i+2;
   }
   newStr = newStr + s.charAt(i);
}
字符串newStr=“”; 对于(int i=0;i
我认为您需要一个正则表达式。将[任何一个字符不是语音标记],[任何一个字符不是语音标记]替换为“,”?

在此处显示出现问题或缺少您的Java代码“”功能。在csv文件中包含图形数据是常见的吗?如何区分注释字段?实际上,我正在寻找一个正则表达式,它可以接受“,,,,,,,,,,,,,,”等,并按如下方式替换它们:“,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,”由于某些原因,注释部分中的回车符被删除了!示例的格式也丢失了……我只是想让您知道,我在这里尝试替换的标记包含第一个和最后一个位置的引号,如果我有多个逗号,则在这两个引号内(有一个以上的逗号意味着一个或多个字段值为空)然后我必须在两个逗号之间插入两个双引号:这样就好像我有“,”(这些引号不仅仅用于表示,它们应该包含在标记中)然后它应该被替换为“,”,”等等。实际上我正在寻找一个正则表达式,它可以接受“,,”等等,比如“现在,我想我可以假设,用户在问题部分错误地输入“,”之类的内容的几率非常小。谢谢你的建议,我会检查一下。