Notepad ++将文本从字符x隔离到y

时间:2017-09-06 17:14:30

标签: notepad++

我有一个基于角色定位的文件。我需要收集第126列和第136列之间的值以将其导出。

所以我的文件会有这样的行

alskdfjdskfl;ja   21.32     asdlfkjasdklfsd
alskdfjdskfl;ja   976546.72 asdlfkjasdklfsd
alskdfjdskfl;ja   1027.32   asdlfkjasdklfsd
alskdfjdskfl;ja   2945.5    asdlfkjasdklfsd
alskdfjdskfl;ja   245.78    asdlfkjasdklfsd

垃圾字符无关紧要。我只想要两者之间的数字。垃圾字符不遵循特定模式,除了它们在行中的位置。换句话说,我想要的信息总是从第126栏开始,最后不迟于136。

是否可以在Notepad ++中执行此操作?否则,我将采取另一种方法。

2 个答案:

答案 0 :(得分:1)

  • 控制 + ħ
  • 找到:^.{125}(.{10}).*$
  • 替换为:$1
  • 全部替换

<强>解释

^           : beginng of line
  .{125}    : 125 any character but newline
  (         : start roup 1
    .{10}   : 10 any character but newline
  )         : end group
  .*        : 0 or more any character but newline
$           : end of line

<强>替换

$1      : content of group 1
  • 检查环绕
  • 检查正则表达式
  • 请勿检查. matches newline

答案 1 :(得分:0)

只要垃圾字符与括号之间的正则表达式不匹配,这可能有效: Search->Find... Tab: Replace Search Mode: Regular expression Find what: .*\s+(\d+\.\d+)\s+.* Replace with: \1 [Replace All]