【问题标题】:REGEX expression to add some amount of whitespaces to the word正则表达式向单词添加一些空格
【发布时间】:2012-12-10 00:30:35
【问题描述】:

我正在尝试为 Sublime Text 2 编写一个剪辑宠物。 这个想法是用户键入一个字符串,该字符串将作为参数 $TM_CURRENT_WORD 传递给被调用的 sn-p。我需要编写一个正则表达式,它将用最多 16 个字符的空格填充给定的单词。

例如 用户输入:SOMEWORD - 8 ch。 sn-p 中的代码:${$TM_CURRENT_WORD/"some regex magic"/"something more"} 输出:SOMEWORDssssssss(这里 s 表示空格)

或: 用户输入:WORD - 4 ch。 输出应该是:WORDssssssssssss - 输入单词 + 12 个空格。

一般来说,输入可以是 1 到 16 个字符,但输出应该正好是 16 个字符。如果给出16个字符的单词?不应添加空格。

【问题讨论】:

  • 你试过什么?
  • 你为什么认为这里需要(甚至是合适的)正则表达式?
  • @Ken 是对的 - 使用应用代码添加 16 个长度的空格
  • @RohitJain 我不知道t have any solution now, because Im 不确定这是否基本可行。我对正则表达式的了解很低,我m just starting learning regex. @KenWhite Sublime uses the PERL syntax of regex to operate with strings in snippets, thats 为什么我需要一个正则表达式。 @Bohemian im writting snippet doesnt 允许许多字符串编辑选项的应用程序代码。

标签: regex sublimetext2 code-snippets


【解决方案1】:

老实说,你可以写一个小插件来做你想做的事。

import sublime, sublime_plugin

class AddPaddingCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        selections = self.view.sel()
        for s in selections:
            word = self.view.substr(s)
            padded_word = '{0: <16}'.format(word)
            self.view.replace(edit, s, padded_word)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-29
    • 2013-07-09
    • 2014-11-12
    • 2022-01-14
    • 2023-03-11
    • 1970-01-01
    相关资源
    最近更新 更多