我有一个逗号分隔的字符串列表,如下所示。
a,b ,c ,d, , , , ,e, f,g,h .
我想编写一个正则表达式来替换空值,即只包含空格的字符串为'NA'。所以结果应该是
a,b ,c ,d,NA,NA,NA,NA,e, f,g,h .
我尝试使用“,\ s +,”进行搜索但跳过备用空字符串并导致
a,b ,c ,d,NA, ,NA, ,e, f,g,h .
这里使用的正确正则表达式是什么?
答案 0 :(得分:5)
(?<=,)\s+(?=,)
这是逗号的后视,然后是空格,然后是逗号的前瞻
答案 1 :(得分:0)
你在这里:
回显a,b,c,d ,,,,, e,f,g,h。 | perl -p -e's /,+ [^ a-z | A-Z] /,Na / g'
或者:
回显a,b,c,d ,,,,, e,f,g,h。 | perl -p -e's /,+ \ S /,Na / g'
如果你想让它也适用于非a-Z字符(感谢评论:)