【问题标题】:Put last element of each column in quotation marks [duplicate]将每列的最后一个元素放在引号中[重复]
【发布时间】:2020-03-24 01:19:09
【问题描述】:

我试图通过在 Visual Studio Code 中使用正则表达式将 csv 每一列的最后一个元素放入引号中。 我使用[^,;]+$ 匹配字符串并尝试使用"$1" 替换它。 更换后,字符串不再按顺序排列,有些消失了。 有人可以帮我吗?

我的 csv 的形状是这样的:

SOME_ID,SOME_ID2,SOME_ID3,NUM,CODE
1234,100,1723,1,403
1235,101,1723,2,486
1236,101,1723,3,5822

【问题讨论】:

  • 您忘记了群组 - ([^,;]+)$。或者,不是第 1 组,而是指整场比赛,"$&"
  • 谢谢你解决了这个问题!

标签: regex csv perl replace


【解决方案1】:

要引用捕获,您需要将表达式放入捕获组(...)

您的正则表达式是正确的,只需将其放入捕获组 ([^,]+)$ 即可修复您的搜索和替换。

正如 Wiktor 在 cmets 中建议的那样,$& 将指整个比赛,也可以使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 2016-07-14
    • 2011-08-31
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多