【问题标题】:NOTEPAD++ Change line with variable insideNOTEPAD++ 用里面的变量换行
【发布时间】:2018-02-03 11:39:37
【问题描述】:

如何更改大文件

葛兰素史克PP / 3520767 / 1 / 30300

葛兰素史克PP / 1 / 30300

如果3520767 是可变的?

编辑:

【问题讨论】:

  • “如果 3520767 是可变的”是什么意思? “任何不含空格的字符串”?还是“任何数字”?还是“任何十进制数”?还是“任何正十进制数”?还是“环境变量的内容”?
  • @Yunnosch 这个值“3520767”会改变,我试过用*,但没有运气
  • 两个斜线之间的数字是否总是改变?
  • 您能从我提供的更准确的描述中选择一个吗?
  • @Toto 有更新问题,为了方便起见,是的,这个数字总是不同的。

标签: replace notepad++ notepad replaceall


【解决方案1】:

这里有一个方法:

  • Ctrl+H
  • 查找内容:^.*?\K/\s+[a-z]?\d+
  • 替换为:EMPTY
  • 全部替换

说明:

^           : begining of line
.*?         : 0 or more any character, not greedy
\K          : forget all we have seen until now
/           : slash
\s+         : 1 or more space
[a-z]?      : an optional letter
\d+         : 1 or more digits

【讨论】:

  • 这被接受了,令我惊讶的是,因为我认为它不会找到 OPs “或 1 个字母在 biggining 和 6 个数字 (b123456)”。而且删除其他内容的风险相当高。
【解决方案2】:

CTRL+H:打开搜索和替换窗口

搜索:GSKPP / [a-zA-z]{0,1}[0-9]* / 1 / 30300 替换:GSKPP / 1 / 30300

必须在搜索和替换窗口的底部激活正则表达式!

[0-9]*作为正则表达式的意思是:搜索0到9之间的任意位数。

[a-zA-z]{0,1} 表示:零个或一个大小写字母。

正则表达式前后的搜索条目被视为常量。

这给出了以下输入:

GSKPP / 3520767 / 1 / 30300
GSKPP / b25525 / 1 / 30300
GSKPP / Z2 / 1 / 30300

输出:

GSKPP / 1 / 30300
GSKPP / 1 / 30300
GSKPP / 1 / 30300

【讨论】:

  • 找不到 OPs “或 1 个字母和 6 个数字 (b123456)”。
  • 也修复了它...很好,您要求提供更多信息,但第一次发布时没有阅读此内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
相关资源
最近更新 更多