在格式错误的 .csv 文件中,有一行数据带有额外的双引号,例如最后一行:
Name,Comment
"Peter","Nice singer"
"Paul","Love "folk" songs"
如何删除周围的双引号folk
并将字符串替换为:
Name,Comment
"Peter","Nice singer"
"Paul","Love _folk_ songs"
在 Ruby 1.9 中,可以执行以下操作:
result = subject.gsub(/(?<!^|,)"(?!,|$)/, '_')
以前的版本没有lookbehind断言。
解释:
(?<!^|,) # Assert that we're not at the start of the line or right after a comma
" # Match a quote
(?!,|$) # Assert that we're not at the end of the line or right before a comma
当然,这是假设我们不会遇到像这样的病理情况
"Mary",""Oh," she said"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)