regex - 连续替换 CSV 文件中的空值

标签 regex perl sed

我有一行文字,如:

value,value,,,value,value

我希望用不同的值替换两个空值。就像是:
value,value,hello,hello,value,value

我目前正在尝试类似的东西:
sed -e 's/^,/hello,/' -e 's/,$/,hello/' -e 's/,,/,hello,/g'

这会在开头、结尾和中间捕获空白值。但是,它不会连续捕获两个连续的空白值。如何更新正则表达式模式,以便在中间出现无限数量的连续空白值?

最佳答案

这个 perl one-liner 怎么样:

echo ',value,,,value,' | perl -pe 's/^(?=,)|(?<=,)(?=,|$)/hello/g'
# hello,value,hello,hello,value,hello

关于regex - 连续替换 CSV 文件中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6431573/

相关文章:

php - 使用 perl DB_File 创建文件时如何指定 BerkeleyDB 的版本?

regex - 如何用sed删除()

javascript - 使用全局标志将字符串文字作为 Javascript .replace() 模式传递

regex - 用于匹配美国电话号码格式的 Oracle 正则表达式

javascript - 接受任意数量字符的正则表达式和 -

javascript - 如何检查文本是否突出显示(跨浏览器)

perl - 使用 Perl 格式化 nmcli 输出并获取 WiFi 名称

perl - 实现调度表

bash - 如何使用 sed 从文件开头打印到所有匹配元素。文件大小大于 25GB

linux - 如何在配置文件中查找设置的最后一个实例