我需要在CSV文件上使用Regex在Notepad++或TextPad上进行搜索和替换,以替换特定列上的文本,如果满足其他文本。例如,我有这样一行:
仅当满足8x8和**“1”时,才搜索价格50.75**:
sample,,,,,,,,50.75,true,,,InStock,,,,,#593D24:WHITE PLASTIC,,,8x8,,,"1"" inch"
sample,,,,,,,,27.30,true,,,InStock,,,,,#593D24:WHITE PLASTIC,,,8x8,,,"2"" inch"
sample,,,,,,,,50.75,true,,,InStock,,,,,#593D24:WHITE PLASTIC,,,12x12,,,"0"" inch"
仅将价格替换为75.25:
sample,,,,,,,,75.25,true,,,InStock,,,,,#593D24:WHITE PLASTIC,,,8x8,,,"1"" inch"
任何帮助将不胜感激。
先谢谢你了。
1条答案
按热度按时间wqlqzqxt1#
使用环视:
搜索:
替换:
参见live demo。
Regex细分:
(?<=,)
表示前面的字符是逗号(?=,.*?\b8x8\b.*?"1"")
表示后面的字符是逗号8x8
和"1""
向后查找逗号可确保
250.75
等数量不匹配。单词边界
\b
确保像18x8
这样的维度不匹配。使用不情愿的量词
.*?
使其更有效,因为.*
将在回溯到下一个字符之前消耗所有输入。