我正在寻找一种从CSV文件的第一列中移除前导零的快速方法,以便其他程序很好地使用它。如果可能的话,也可以将其从逗号分隔转换为带分隔的制表符,但这可能是一个单独的问题。
以下是标题名称(只需要从学生ID中去掉前导(2)零):
"Student ID","School Name","Contact Relation","Contact First Name","Contact Last Name","Salutation"," Home Phone Number","Address Line 1","Address Line 2","City","State","Zip","Zip + 4","Work Phone","Cell Phone","Pager","Residential Status","Custodial Status"下面是一些示例数据,以了解如何格式化:
"004000031","Local High School","Mother","FirstName","LastName","","555-5557773","555 Old Midlothian Tpke","Lot77","Richmond","VA","23222","","","","","","Y"发布于 2015-04-09 12:40:18
修改了生成CSV文件的XML代码。只需添加/修改2行
<field id="stdIDLocal" header-source="field" header-value="Student ID" find="00" replaceFirst="" /> 要将输出从CSV转换为标签分隔的文件,请在标记中使用以下XML语句:
<export table-id="tblStudent" header-row="true" value-delimiter="	" > 发布于 2015-04-07 16:10:12
这一行应该这样做:
String[] tokens = String.join("\t", csv.replaceFirst("^\"0*", "\"").split(","));发布于 2015-04-07 16:05:03
这个perl应该为您做这件事。
第一个表达式删除每一行的前两个零。第二个选项卡将,更改为选项卡。
perl -pne 's/^00//;s/,/\t/g' your_file.txt
https://stackoverflow.com/questions/29496019
复制相似问题