Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 如何用这些相同但修改过的行集替换所有重复行集?_Search_Text_Replace_Duplicates_Notepad++ - Fatal编程技术网

Search 如何用这些相同但修改过的行集替换所有重复行集?

Search 如何用这些相同但修改过的行集替换所有重复行集?,search,text,replace,duplicates,notepad++,Search,Text,Replace,Duplicates,Notepad++,在Notepad++中处理文本的数据类型列表时,我希望通过将属性值选择到列选择中,将每行中的属性值更改为“none”字,这非常有效 但问题来了。。。现在我完成了我想在列表中做的事情,我现在想用数字来代替所有的“无”字,但用一种特定的方式。 我正在处理的列表实际上接近5k行,还有大约2k行,其中包括多个重复行集 出于这个原因,我必须承认,如果我决定手工做这件事,我会有一段非常艰难的时间,因为这件事需要很长时间的痛苦工作。。。解释起来可能有点棘手,这里有一些例子: <obj name="wal

在Notepad++中处理文本的数据类型列表时,我希望通过将属性值选择到列选择中,将每行中的属性值更改为“none”字,这非常有效

但问题来了。。。现在我完成了我想在列表中做的事情,我现在想用数字来代替所有的“无”字,但用一种特定的方式。 我正在处理的列表实际上接近5k行,还有大约2k行,其中包括多个重复行集

出于这个原因,我必须承认,如果我决定手工做这件事,我会有一段非常艰难的时间,因为这件事需要很长时间的痛苦工作。。。解释起来可能有点棘手,这里有一些例子:

<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