【问题标题】:Regex in Notepad++ to Find-Replace or Remove Partial StringsNotepad++ 中的正则表达式查找-替换或删除部分字符串
【发布时间】:2019-10-11 06:55:40
【问题描述】:

这改编自引用“客户投诉”的在线数据集。数据在 Excel 和 Notepad++ 中进行了修改。这种操作在字符串“VALUES (X”) 之后的每个“索引数字”[1,2,3 ...] 之后直接产生了一组“额外”引号。我只想删除这个“额外引号”和维护顺序索引号,范围从一位数到五位数字。这是为使用具有 135 万行代码的专有数据库做准备。


正则表达式的这种相当笨拙的改编将“找到”一个包含引号的字符串,但是维护索引号的“替换”代码却让我望而却步。任何帮助将不胜感激。

正则表达式

\s\(([0-9])",|\s\(([0-9][0-9])",|\s\(([0-9][0-9][0-9])",|\s\(([0-9][0-9][0-9][0-9])",|\s\(([0-9][0-9][0-9][0-9][0-9])",

数据字符串

INSERT INTO Complaints VALUES (1","2013-07-29","consumer loan","managing the loan or lease","Wells Fargo & Company","VA","24540","phone","2013-07-30","closed with explanation","468882");

INSERT INTO Complaints VALUES (2","2013-07-29","bank account or service","using a debit or ATM card","Wells Fargo & Company","CA","95992","web","2013-07-31","closed with explanation","468889");

INSERT INTO Complaints VALUES (3","2013-07-29","bank account or service","account opening, closing, or management","Santander Bank US","NY","10065","fax","2013-07-31","closed","468879");

【问题讨论】:

  • 专业提示:[0-9][0-9][0-9][0-9][0-9]\d{5} 相同。
  • 艾玛:谢谢你的回复。非常感谢......!

标签: regex replace find notepad++ regex-group


【解决方案1】:

查找 VALUES \((\d+)" - 内括号将捕获数字 (\d) 一次或多次 (+),直到遇到 "

然后您可以替换为VALUES \($1,其中$1 是对应的捕获值。

【讨论】:

  • 这里的各种建议都是一流的!你们中的任何人制作视频......也许在 YouTube 上关于 Regex 的主题?再次感谢。
【解决方案2】:
  • Ctrl+H
  • 查找内容:VALUES\h*\(\d+\K"
  • 替换为:LEAVE EMPTY
  • 检查环绕
  • 检查正则表达式
  • 全部替换

解释:

VALUES      # literally
\h*         # 0 or more horizontal spaces
\(          # opening parenthesis
\d+         # 1 or more digits
\K          # forget all we have seen until this position
"           # a double quote

屏幕截图:

【讨论】:

  • 托托:最初的问题是我的。我感谢您的回复,并没有“否决”您的努力。我觉得这个网站不仅仅是作为“互联网上一个更匿名的、游戏化的平台”更有价值。再次感谢...您的解释堪称典范!
  • 你的格式很好,这个具体的回复很关键。 [韦恩]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-14
  • 2022-01-09
  • 2016-04-03
  • 2017-01-28
  • 2015-01-11
  • 2012-12-02
  • 2015-05-21
相关资源
最近更新 更多