Replace 如何删除指定字符前一行的所有字符

Replace 如何删除指定字符前一行的所有字符,replace,notepad++,delete-row,Replace,Notepad++,Delete Row,您好,我得到了此格式的内容,我需要先删除所有内容,然后再开始“:” 之前: 1:2:3 a:b:c 之后: 2:3 b:c 我尝试了这个^.+[:],但是在这之后,我没有得到2:3 b:c,而是只有3和c,这个命令也删除了第二个“:” 如果我们最终能做到这一点,我想替换他们 之前: 2:3 b:c 之后: 3:2 c:b 不完全确定您是否理解您的需求,但我想您应该删除第一列并交换另外两列 以下是一种一步完成的方法: Ctrl+H 查找内容:^.+?:([^::+):(.+)$ 替换为:$

您好,我得到了此格式的内容,我需要先删除所有内容,然后再开始“:”

之前:

1:2:3
a:b:c
之后:

2:3
b:c
我尝试了这个
^.+[:]
,但是在这之后,我没有得到
2:3 b:c
,而是只有
3
c
,这个命令也删除了第二个“

如果我们最终能做到这一点,我想替换他们

之前:

2:3
b:c
之后:

3:2
c:b

不完全确定您是否理解您的需求,但我想您应该删除第一列并交换另外两列

以下是一种一步完成的方法:

  • Ctrl+H
  • 查找内容:
    ^.+?:([^::+):(.+)$
  • 替换为:
    $2:$1
  • 检查匹配案例
  • 检查环绕
  • 检查正则表达式
  • 取消选中
    。匹配换行符
  • 全部替换
说明:

^#行首
.+?         # 1个或多个除换行符以外的任意字符,不贪婪
:#冒号
([^::]+)#第1组,1个或多个非冒号的字符
:#冒号
(.+)#第2组,1个或多个除换行符以外的任意字符
$#行尾
更换:

$2#第2组第3列的内容
:#冒号
$1#第1组第2栏内容
屏幕截图(之前):

屏幕截图(之后):


我想不出一种方法来告诉Notepad++每行只执行一次该过程。问题是它一直重复到最后一个冒号,即使您修改正则表达式一次删除一个冒号。Java/Python解决方案行得通吗?我不确定他是否想交换另外两个。但这个问题自相矛盾,有两种不同的“之后”