【问题标题】:Atom Editor: RegEx replace to uppercase/lowercaseAtom 编辑器:RegEx 替换为大写/小写
【发布时间】:2015-04-24 18:04:16
【问题描述】:

我正在尝试用 Atom 编辑器中的大写/小写等价物替换字符串中的某些字符。

假设我有字符串:

some:test:sequence

并且想要结果:

Some:Test:Sequence

我知道 \u$1\l$1 之类的东西,但它们在 Atom 中不起作用,因为 Atom 使用的是 JS 样式的 RegEx。然而,我发现的 JS-RegEx 解决方案总是涉及调用一个函数 (see example here),这在 Atom 中是不可能的,afaik。

有谁知道有没有办法做到这一点?我也不介意为更强大的正则表达式搜索/替换安装一个包,但还没有找到,我想避免为此自己编写一个。

请注意:我不是在寻找查找/选择字符的解决方案。选择效果很好,并且与示例中一样复杂一些。

【问题讨论】:

  • 所以你不能使用正则表达式?那么使用纯 JavaScript 的自定义函数呢?
  • 我想你误解了我的问题。我已经在使用正则表达式了,我只是无法使用大写替换。另外,正如我所写,我认为不创建包就不可能调用任何 JS。
  • Atom includes Oniguruma 正则表达式仅用于语法,在所有其他位置它使用标准 JavaScript 正则表达式。所以说 Atom “建立在” Oniguruma 有点用词不当。
  • 我真的很想看到 Atom 中也包含该功能。
  • 我为相关请求开了一张票:github.com/atom/atom/issues/7486

标签: regex replace atom-editor


【解决方案1】:

在普通正则表达式的框架内,一种直接的解决方案是分别替换每个字符。这可能不实用(如果您必须手动触发每个替换),但它确实有效。

在每个单词的开头搜索所有小写“a”,将其替换为大写“A”。然后 'b' 代表 'B',... 直到您拥有与目标语言/字符集相关的所有字符。

【讨论】:

    【解决方案2】:

    请注意,虽然您说问题与选择无关,但我使用的是更简化的示例。

    如果您的字符串包含:This is a Mixed case String! I want every Letter to Start with A Capital.

    您可以使用\b\w 的正则表达式选择器来查找字符串中每个单词的第一个字符。 (通过 Cmd + F 并单击右侧菜单上的.* 进行正则表达式搜索)

    现在按 Alt + Enter 选择所有找到的结果,这应该会突出显示 Regex 查询的所有结果。在此之后,要使每个第一个字母大写,您可以按Cmd + K -> Cmd + U,您可以从这里随意修改它们。

    轰隆隆!字符串现在应该如下所示:This Is A Mixed Case String! I Want Every Letter To Start With A Capital.

    我一直在寻找这个问题的答案,以下是我的答案来源:

    【讨论】:

    • 轰隆隆!先生,你让我开心。
    • 但是,您一次只能将其应用于一个文件,而正则表达式搜索解决方案(如果存在)将同时应用于多个文件。
    • 注意:您应该在搜索文本输入处于活动状态时按 Alt (Option) + Enter
    【解决方案3】:

    按 alt + enter 选择所有匹配项,然后转到菜单: 编辑 --> 文本 --> 大写或小写

    【讨论】:

      【解决方案4】:

      对我来说,它与 \s\w 的正则表达式选择器一起工作,以查找字符串中每个单词的第一个字符。

      对于 Mac:

      cmd + F -> \s\w -> click on .* -> option+enter -> cmd+K -> cmd+U
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-03
        • 2013-10-15
        • 1970-01-01
        • 2022-07-02
        • 2014-01-11
        相关资源
        最近更新 更多