Search 如何用这些相同但修改过的行集替换所有重复行集?
在Notepad++中处理文本的数据类型列表时,我希望通过将属性值选择到列选择中,将每行中的属性值更改为“none”字,这非常有效 但问题来了。。。现在我完成了我想在列表中做的事情,我现在想用数字来代替所有的“无”字,但用一种特定的方式。 我正在处理的列表实际上接近5k行,还有大约2k行,其中包括多个重复行集 出于这个原因,我必须承认,如果我决定手工做这件事,我会有一段非常艰难的时间,因为这件事需要很长时间的痛苦工作。。。解释起来可能有点棘手,这里有一些例子:Search 如何用这些相同但修改过的行集替换所有重复行集?,search,text,replace,duplicates,notepad++,Search,Text,Replace,Duplicates,Notepad++,在Notepad++中处理文本的数据类型列表时,我希望通过将属性值选择到列选择中,将每行中的属性值更改为“none”字,这非常有效 但问题来了。。。现在我完成了我想在列表中做的事情,我现在想用数字来代替所有的“无”字,但用一种特定的方式。 我正在处理的列表实际上接近5k行,还有大约2k行,其中包括多个重复行集 出于这个原因,我必须承认,如果我决定手工做这件事,我会有一段非常艰难的时间,因为这件事需要很长时间的痛苦工作。。。解释起来可能有点棘手,这里有一些例子: <obj name="wal
<obj name="wall.ZOL" id="none"
<obj name="wall.ZOL" id="none"
<obj name="wall.ZOL" id="none"
<obj name="wall.XYZ" id="none"
<obj name="wall.XYZ" id="none"
<obj name="wall.XYZ" id="none" <------------- In my actual document
<obj name="wall.DOR" id="none"
<obj name="wall.DOR" id="none"
<obj name="wall.DOR" id="none"
<obj name="wall.BUL" id="none"
<obj name="wall.BUL" id="none"
<obj name="wall.BUL" id="none"
你最好用你最喜欢的脚本语言编写一个脚本。
但是,如果您真的想使用记事本+,并且ID的数量不太高(因为它将变得不可读),您可以执行以下操作:
- Ctrl+H
- 找到什么:
哦,这确实是可能的,而且很有效!我以前从未见过这样的事情,所以知道它真的很好。是的,我最好只使用npp来满足我的所有需求。你给我的命令是最重要的部分,因为这是我需要的,但正如你所说的,我最好找到一种方法,让这个命令在我列表中的2k不同名称上工作,以加快进程。谢谢大家!@不客气,很高兴这有帮助。请随意将答案标记为已接受,啊,当然!我一直在等待,直到我找到你给我的regex命令的正确策略来实现所有≈2k个名字,我找到了一条路。但是,对于与我相同情况的用户,最好使用ToolBucket插件中的多行查找和替换来查找很长的文本,因为我拥有的文本对于常规的CTRL+H查找/替换来说太长了。不管怎样,没有你的帮助,我不可能做到,所以再次谢谢你。
<obj name="wall.ZOL" id="4130"
<obj name="wall.ZOL" id="4130"
<obj name="wall.ZOL" id="4130"
<obj name="wall.XYZ" id="5340"
<obj name="wall.XYZ" id="5340"
<obj name="wall.XYZ" id="5340" <------------- How I would like it to be
<obj name="wall.DOR" id="1700"
<obj name="wall.DOR" id="1700"
<obj name="wall.DOR" id="1700"
<obj name="wall.BUL" id="9500"
<obj name="wall.BUL" id="9500"
<obj name="wall.BUL" id="9500"
WHILE SEARCHING FOR...
<obj name="wall.ZOL" id="none"
<obj name="wall.XYZ" id="none"
<obj name="wall.DOR" id="none"
<obj name="wall.BUL" id="none"
...AND THEN "REPLACE BY" THIS...
<obj name="wall.ZOL" id="4130"
<obj name="wall.XYZ" id="5340"
<obj name="wall.DOR" id="1700"
<obj name="wall.BUL" id="9500"
...TO GET THE RESULT IN MY DOCUMENT LIKE THAT:
<obj name="wall.ZOL" id="4130"
<obj name="wall.ZOL" id="4130"
<obj name="wall.ZOL" id="4130"
<obj name="wall.XYZ" id="5340"
<obj name="wall.XYZ" id="5340"
<obj name="wall.XYZ" id="5340"
<obj name="wall.DOR" id="1700"
<obj name="wall.DOR" id="1700"
<obj name="wall.DOR" id="1700"
<obj name="wall.BUL" id="9500"
<obj name="wall.BUL" id="9500"
<obj name="wall.BUL" id="9500"
<obj name="wall\. # literally
(?: # non capture group
(ZOL) # group 1
| # OR
(XYZ) # group 2
| # OR
(DOR) # group 3
| # OR
(BUL) # group 4
# you can add more groups if you need them.
) # end group
" id=" # literally
\K # forget all we have seen until this position
none # literally
(?{1} # if group 1 exists (i.e. "ZOL")
4130 # id value for "ZOL"
: # else
(?{2} # if group 2 exists
5340 # value for "XYZ"
: # else
(?{3} # if group 3 exists
1700 # value for "DOR"
: # else
(?{4}9500) # if group 4 exists, value for "BUL"
) # endif
) # endif
) # endif