Notepad++ 记事本++;:如何用另一行文字替换一行文字
我在notepadd++中有以下格式的记录 611090102932 20161130 12563 20170112 100333IMPAYES STASIE 2017 01 12 5640 00000000特别 我有190行这样的数据。因此,对于文件中的所有行,我想将00000000之前的5640(数字)替换为20170112之前的12563(数字) 我尝试安装ToolBucket插件,但我不确定如何选择我想要的行并用另一行替换它Notepad++ 记事本++;:如何用另一行文字替换一行文字,notepad++,Notepad++,我在notepadd++中有以下格式的记录 611090102932 20161130 12563 20170112 100333IMPAYES STASIE 2017 01 12 5640 00000000特别 我有190行这样的数据。因此,对于文件中的所有行,我想将00000000之前的5640(数字)替换为20170112之前的12563(数字) 我尝试安装ToolBucket插件,但我不确定如何选择我想要的行并用另一行替换它 如果有人能帮助我,我将不胜感激。如果我没记错的话,如果你按ct
如果有人能帮助我,我将不胜感激。如果我没记错的话,如果你按ctrl+f,有一个替换选项。记事本++有一个替换命令 如果您只需要替换2017 01 12之前的版本,则将“2017 01 12 5640”替换为“2017 01 12 12563”
以类似的方式,如果需要,您可以在搜索/替换条件中包括其他静态数据。我假设
20170112
和00000000 spece
是静态的,并且始终存在,12563
和5640
可以是任何数字
使用正则表达式替换:
查找内容:\b(\d+)(\h+20170112\h+.*)\b\d+(\h+00000000 spece)$
替换为:
$1$2$1$3
详细信息:
-前导词边界\b
-第1组(替换中的(\d+)
)捕获一个或多个数字$1
-第2组((\h+20170112\h+.*)
)捕获1+水平空白($2
)、\h+
、1+水平空白,然后捕获除换行符以外的任何0+字符,尽可能少(20170112
)*?
-前导词边界\b
-1+位\d+
-第3组((\h+00000000 specpe)$
)捕获1+个hor。空格和行末尾($3
)的$
00000000特殊字符串
- Ctrl+H
- 查找内容:
(\d+)20170112\b.+?)\d+(00000000个字符)
- 替换为:
$1$2$3
- 全部替换
所以,
20170112
和00000000 espece
是静态的,并且总是存在的,对吗?和12563
和5640
可以是任何数字吗?是的,我每行都有20170112和00000000。我只需要复制20170112之前的数字,并用00000000之前的数字替换它,尤其是@WiktorStribiżewi,我认为这行不通。我有多行数据,每行分别有20170112和00000000。我只需要将00000000之前的数字替换为20170112之前的数字。如果在201701121112243456
之前找到数字,这将执行查找和替换。@WiktorStribiżew:你说得对,我添加了一个单词边界。非常感谢你的详细解释。这是有效的:)