【问题标题】:Remove 8 char, save 4, remove 4, save 4, replace 1 and keep rest of the line删除 8 个字符,保存 4,删除 4,保存 4,替换 1 并保留该行的其余部分
【发布时间】:2016-04-13 23:44:20
【问题描述】:

在每一行我想:

  • 删除字符 1-8 (8)
  • 保存字符 9-12 (4)
  • 删除字符 13-16 (4)
  • 保存字符 17-20 (4)
  • 将 char 21 (1) 替换为空格
  • 保留其余行

然后对每一行都这样做

我已经开始了:

^.{8}(.{4}).{4}

是否可以单行或重复模式...

(我使用 Notepad++ 和 TextPad)

【问题讨论】:

    标签: regex notepad++ textpad


    【解决方案1】:

    这应该可以解决问题。只需按您所做的那样计算字符数,然后用捕获组和空格替换。

    查找

    ^.{8}(.{4}).{4}(.{4})(.{1})
    

    替换(包括$2后面的空格)

    $1$2 
    

    【讨论】:

    • {1} 是多余的,也不需要捕获最后一个字符,因为您不会使用它。除此之外,我也会这样做。
    • TIL 你可以在替换中使用$1,我一直使用\1
    • 我使用了:^.{8}(.{4}).{4}(.{5})(.{1})(.{1}) 并将其替换为:\1\2 ,在“2”之后添加了一个“空格”,这解决了我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 2016-07-30
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    相关资源
    最近更新 更多