删除分号后的所有字符

时间:2016-08-14 12:26:19

标签: sublimetext3 sublimetext

我在Mac上使用sublime 我有类似的东西

dcast(dt, grp~fac, length)
#   grp l1 l2
#1:   A  1  0
#2:   B  1  1

我希望在第一次之后摆脱一切; 所以我想要像这样的输出

Q21162;E5QCE7
E5QCF5;P91040
E5QCF6;E5QCF8;P34558
E5QCG0;Q09499
E5QCG2

3 个答案:

答案 0 :(得分:8)

以下版本以正则表达式为我工作:

在崇高:

  1. 使用CTRL + H
  2. 打开替换面板
  3. 确保启用正则表达式。它是与搜索字段(ALT + R)在同一行中的左侧图标“。*”。
  4. 输入“查找内容”:INSTALLED_APPS = [ # Django apps # ... # Third-party apps # ... # Your apps 'account.apps.AccountConfig', # ... ]
  5. 输入“替换为”:^([^;]*);.*$
  6. 查找并替换所有
  7. 我在Windows上测试过,在Mac上你可能不得不使用CMD而不是CTRL键。

答案 1 :(得分:3)

使用正则表达式的另一种方法是使用多光标编辑器选择所有分号,然后突出显示到行尾,然后删除。

使用问题中的确切示例,这对我来说非常有用:

  1. 突出第一个;
  2. 按Ctrl + d几次以突出显示其他实例。
  3. 按住Shift键并点按“结束”以突出显示该行的结尾。
  4. 按删除
  5. 在Debian上使用Sublime 3完成 - 我假设这也会在其他地方工作吗?

    正则表达式非常精彩,但在这种情况下,一些键盘快捷键可以很好地完成这项工作,这种情况有点过分。

答案 2 :(得分:0)

regular expression是你最好的朋友

忘记您正在使用的IDE,并对如何使用正则表达式进行一些研究。

或者您可以使用sublime中包含的内置正则表达式解析器:

http://docs.sublimetext.info/en/latest/search_and_replace/search_and_replace_overview.html

修改

这是你正在寻找的正则表达式:

s/[^;]*$//

我假设您要删除行中分号最后一次出现后的文字