【问题标题】:Notepad++ weird bug? when replace a huge string记事本++奇怪的错误?当替换一个巨大的字符串时
【发布时间】:2015-02-11 12:32:54
【问题描述】:

用 Notepad++ 替换一个巨大的字符串后,我得到了一个 CR LF 字符。 此外,字符串在我没有问的地方添加了换行符。

奇怪...

这是打印屏幕:

在我使用字符串替换之前,那些CR LF 字符不存在(或者它们隐藏在哪里?如果是,为什么字符串替换会显示它们?)

是否有快速(正则表达式?)解决方案来删除它们? 是否有任何快速(正则表达式?)解决方案来删除任何不是 [a-z] [A-Z] [0-9] ["|'] 或非 UTF-8 字符的字符?

【问题讨论】:

  • 记事本还是记事本++?
  • 在字符类中| 不再是 OR 运算符而是一个简单的文字字符,您可以将其删除。 (请参阅有关字符类的教程以更好地理解它们是什么)
  • @CasimiretHippolyte:哦,我假设管道是他想要保留的标点符号之一,但我认为你是对的,他不是故意的。
  • @BrianStephens:一开始我也是,但自从他上次发表评论后就没有了。

标签: regex string notepad++ newline


【解决方案1】:

您可以将\r\n 替换为空,这将删除换行符。

要删除任何不是[a-z][A-Z][0-9]["|'] 的字符,请将[^A-Za-z0-9"|'] 替换为空字符。但请注意,您已经考虑好要保留的所有内容:空格、制表符、其他标点符号等。

【讨论】:

  • @davidmarko:确保搜索模式设置为正则表达式,否则它应该可以工作。
  • 忘记保留空格 :) [^A-Za-z0-9"|'| ]
  • 我在 Notepad++ 上发现了一个错误……但是……问题解决了!谢谢大佬!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-27
  • 1970-01-01
  • 2012-08-31
  • 1970-01-01
  • 1970-01-01
  • 2021-09-03
相关资源
最近更新 更多