Replace 我怎样才能在“之前”删除所有内容:&引用;记事本中的字符串++;?

Replace 我怎样才能在“之前”删除所有内容:&引用;记事本中的字符串++;?,replace,notepad++,Replace,Notepad++,我在记事本里有一个这样的文件++ n1:n1:n1 n1:n1:n2 n1:n1:n3 我想删除第一个“:”之前的所有内容,包括“:”本身 像这样 n1:n1 n1:n2 n1:n3 谢谢。。 希望我对问题的解释足够清楚 肯·怀特: 谢谢,但问题是我的文件有超过10k行,在大约1000行之后,第一个“n1”变为“n2” 然后变成“o1”而不是“n1” 我想删除第一行之前的所有内容:“使用Replace并使用正则表达式在行首查找任何不是冒号的字符:,后跟冒号,并将其替换为零 查找内容:^([^:

我在记事本里有一个这样的文件++

n1:n1:n1
n1:n1:n2
n1:n1:n3

我想删除第一个“:”之前的所有内容,包括“:”本身
像这样

n1:n1
n1:n2
n1:n3

谢谢。。 希望我对问题的解释足够清楚

肯·怀特: 谢谢,但问题是我的文件有超过10k行,在大约1000行之后,第一个“n1”变为“n2” 然后变成“o1”而不是“n1”
我想删除第一行之前的所有内容:“

使用Replace并使用正则表达式在行首查找任何不是冒号的字符
,后跟冒号,并将其替换为零

  • 查找内容:
    ^([^:::+:)(.)
  • 替换为:
    \2
  • 搜索模式:正则表达式
这实际上回答了您的问题,并且没有假设在第一个冒号之前或之后是什么

  • 第一个
    ^
    表示搜索必须从行的开头开始
  • 括号是Grouper和Saver。实际上,在第一位中并不需要它们,因为您只是删除冒号之前的内容,但这与Ken White的解决方案是并行的
  • 方括号表示要查找的字符 A.第一个方括号后面的第二个
    ^
    从要查找的字符切换到不想查找的字符 B所以
    [^:::][/code>表示查找除冒号以外的任何字符
  • 加号
    +
    表示查找这组字符的一次或多次出现 A.如果某些行可能以冒号开头,但仍要替换该冒号,则需要在行的开头查找0或更多非冒号字符 B为此,请将
    +
    替换为
    *
  • 选择冒号(因此它也将被删除)
  • 右帕伦结束第一组
  • 左帕伦开始第二组
  • 表示查找任何字符。如果这里没有这个,那么它将删除第一个冒号之前的所有内容,然后下一个集合将位于行的开头,因此您将删除太多内容。从技术上讲,你可以在这里加一个加号或星号,但你不需要它
  • 右帕伦结束第二组
  • 在“替换为”框中,
    \2
    (如果您愿意,这是反斜杠或反索利多卡因)将获取第二组的内容,并用这些内容替换找到的所有内容
  • 以下是测试输入和输出:

    输入(粘贴一些标签、空格和其他内容,以便更好地测量)

    输出

    n1:n1
    n1:n2
    n1:n3
    n1:n3
    n7:n5
    n1:n1:m1:m1:l1:l7b:l1011
    z99:
    o2:o3:o4:o5
    :o2:o3:o4:o5:o6
    o1:o3:x37:n99
    o1:o3:o44:z76
    n7:n5:u72:j9:
    
    请注意,它删除了没有冒号的任何行,在某些情况下可能更可取。它还漏掉了我在那里加的两行,在这行的开头或结尾都有一个冒号

    如果希望中保留这些空行,请在上面步骤3的括号中添加一个
    \r\n
    (这些也是反斜杠)。然后,它将查找任何不是冒号或行尾的字符(步骤3),后跟冒号(步骤5)。因此,它只删除带有冒号的行上的字符。将“查找内容”更改为此字符串:

    • 查找内容:
      ^([^:\r\n]+):(。
    要捕捉以冒号开头的行或在第一个冒号后不包含任何内容的行,请将加号更改为星形,并在点后添加问号:

    • 查找内容:
      ^([^:\r\n]*):(.?)

    您知道可以在记事本++中按列选择吗?
    n1:n1
    n1:n2
    n1:n3
    n1:n3
    n7:n5
    n1:n1:m1:m1:l1:l7b:l1011
    z99:
    o2:o3:o4:o5
    :o2:o3:o4:o5:o6
    o1:o3:x37:n99
    o1:o3:o44:z76
    n7:n5:u72:j9: