【问题标题】:Sublime Text: Regex to convert Uppercase to Title Case?Sublime Text:正则表达式将大写转换为标题大小写?
【发布时间】:2013-07-24 00:20:03
【问题描述】:

我在一个文本文件中有一堆标签(例如我的标签:),我需要制作标题大小写。

我已经知道如何将它们全部设为小写或大写。

例如:

^([A-Z &#]+:) 到 \L$1

但是,有没有一种简单的基于开关的方法来获取标题大小写?

【问题讨论】:

标签: regex string sublimetext sublimetext3


【解决方案1】:

查找:([A-Z])([A-Z]+)\b

替换:$1\L$2

确保打开区分大小写 (Alt + C) 并关闭保留大小写 (Alt + A)。

【讨论】:

  • 这很好用,但在 RegExBuddy 中,无论出于何种原因,它都是 \l(小写 L),如果这对任何人都有帮助的话。
  • \L 将后面的所有字符转为小写,\l 只转为后面的第一个字符
  • 或者找到 (\w)(\w+) 并替换为 \U$1\L$2 涵盖所有情况,即使单词不以大写开头。
  • 这对我不起作用,但这个答案确实有效:stackoverflow.com/a/1159389/672989
  • 另外,如果要将整个组转换为大写,请使用\U$1\E
【解决方案2】:

您是否尝试过内置的 Sublime Text? Edit -> Convert Case -> Title Case.

【讨论】:

  • 是的,但我正在寻找一种使用查找/替换的方法。对不起,我应该更清楚。
  • 我想指出,内置会产生意想不到的结果(Build 3059)。我测试了first last <email@example.com>,\nfirst last... 格式的姓名和电子邮件地址列表,除了第一行之外,所有名字都是小写的。
  • 我真的很喜欢“Smarter Title Case”。您可以通过 Package Control 安装它。我注意到它有一些自己的缺陷,但它比内置转换器好 1000 倍。
  • 这是完美的。我已经找了很久了。
猜你喜欢
  • 2019-05-15
  • 2011-06-21
  • 1970-01-01
  • 1970-01-01
  • 2011-02-01
  • 2022-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多