【问题标题】:Removing a specific section of a list in Notepad++在 Notepad++ 中删除列表的特定部分
【发布时间】:2016-06-10 00:00:01
【问题描述】:

我有一个格式如下的列表:

companyname,companyaddress,companytelephone

50 万行代码,结构相同。

我希望最终结果只是

companyaddress,companytelephone

(删除“公司名称”)。我该怎么做?

【问题讨论】:

  • 你的列表应该是的部分实际上是空白的。没有它,任何人都无法帮助您。
  • @computerfreaker 有人编辑了问题并删除了重要部分。我已恢复编辑。
  • @melpomene 奇怪,我在评论之前检查了修订历史。一定是我的疏忽。感谢您的回滚。
  • 有人可以帮我吗?请
  • @AlissaWundsson 我不明白你的问题与编程有什么关系(听起来更像是“我如何使用我的文本编辑器?”),所以我投票决定关闭它-主题。

标签: notepad++


【解决方案1】:

(snip)... 您的答案是在搜索和替换中使用正则表达式选项。我假设你有一些结构化数据,即<name> delimiter1 <address> delimiter2 <phone>,并且 delimiter1 是一个制表符,那么:

search for: `^[^\t]+?\t`
replace with: [leave empty]

\t ... 是制表符的替代品

鉴于您的编辑使用逗号空格作为分隔符1,很难一次性完成解决方案,因为您需要了解公司名称,其中包括逗号。例如,以 Inc., LLC, LLP 或合作伙伴关系结尾的任何名称,例如“Curly, Larry & Moe, LLP”。因此,我想我会做多次搜索替换,目视检查每个之间的数据。

(1) Find from start of line <name> delimiter1 <number>: ^(.+?), (\d)
Replace with # <name> tab <number>: #$1\t$2

查看是否有与(1)中的替换模式不同的记录。如果有几个,手动编辑用制表符替换那些逗号空间。如果很多,您将不得不进行更多的搜索和替换。如果没有异常值,请执行以下操作:

(last) Find from start of line through to the first tab: ^[^\t]\t
Replace with nothing: [leave empty]

如果您的 delimiter1 不是逗号空格而是引号逗号空格引号,则改为正则表达式搜索:^.+?", " 并替换为空。完成!

非分隔符记录的替代解决方案:

如果数据与字符长度相关,即&lt;name&gt; spaces to the 30th character &lt;address&gt; spaces to the 100th character &lt;phone&gt;,则:

search for: `^(.){30}`
replace with: [leave empty]

先试一下样本。祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 2014-09-04
    • 2015-05-13
    • 1970-01-01
    • 2020-12-03
    • 2018-05-23
    相关资源
    最近更新 更多