【发布时间】:2014-05-14 04:54:16
【问题描述】:
我正在处理一个 CSV 文件,并且想要搜索和替换字符串,只要它在列中完全匹配。例如:
xxx,Apple,Green Apple,xxx,xxx
Apple,xxx,xxx,Apple,xxx
xxx,xxx,Fruit/Apple,xxx,Apple
如果“Apple”是列中的 EXACT 值,我想替换它(如果它包含在另一列的文本中,我不想替换)。我看不出如何用一个表达式来做到这一点(也许不可能?)。
想要的输出是:
xxx,GRAPE,Green Apple,xxx,xxx
GRAPE,xxx,xxx,GRAPE,xxx
xxx,xxx,Fruit/Apple,xxx,GRAPE
所以我想要的表达式是:匹配输入的开头或逗号,后跟所需的字符串,后跟逗号或输入的结尾。
您不能将 ^ 或 $ 放在字符类中,所以我尝试了 \A 和 \Z 但这不起作用。
([\A,])Apple([\Z,])
很遗憾,这不起作用。我可以用一个正则表达式来做到这一点吗?看起来这将是一个很常见的问题。
【问题讨论】: