最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】VSCode正则替换后如何把字母从小写转换成大写

正则 crifan 3418浏览 0评论
折腾:
【未解决】把IEC 104的Cause of Transmission COT的全部定义添加到com.iec.analysis的TransferReason
期间,希望实现:
对于:
正则替换后:
缩写部分的内容,变成大写,目的是实现类似于:
java中的enum的定义。
所以希望把正则替换后的字符,从小写,变成大写
比如:
back -> BACK
spont -> SPONT
去找找VSCode的正则替换后,是否可以实现这种效果。
regular expression lower to upper
Replacement Strings Reference: Context and Case Conversion
sublimetext3 – Regex replace uppercase with lowercase letters – Stack Overflow
sublime,竟然支持这种,用\L实现小写,那估计是 \U转换成大写?
sublime的regex用的是Boost,支持\L:
Perl Format String Syntax – 1.44.0
“\l
Causes the next character to be outputted, to be output in lower case.
\u
Causes the next character to be outputted, to be output in upper case.
\L
Causes all subsequent characters to be output in lower case, until a \E is found.
\U
Causes all subsequent characters to be output in upper case, until a \E is found.
regex – What is the regular expression to allow uppercase/lowercase (alphabetical characters), periods, spaces and dashes only? – Stack Overflow
Regex replace uppercase with lowercase letters in PhpStorm – Stack Overflow
regex – Convert a char to upper case using regular expressions (EditPad Pro) – Stack Overflow
去试试VSCode中是否支持\U
结果不支持
vscode regex replace uppercase
Enable regular expression case changing · Issue #12185 · microsoft/vscode
“Notepad++ does the casing transformation”
npp也支持的
精确描述是属于:
正则替换中,对于单个组,实现大小写转换
regex replace for group case conversion
好像很多人说的是:
\L后面还带\E表示替换结束?
fooBar -> foo-bar

$1-\L$1\E
去看看
    \U$3\E($1, "$2"),
也不行:
Regex Search/Replace: Transform group to lowercase · Issue #26489 · microsoft/vscode
regex – How to change lower case to upper using regular expressions in Visual Studio Code – Stack Overflow
对于此处特殊需求,参考别人的workaround,选中后,再去大小转换
[\w/]+\(
mac中 Cmd+F2
可以看到内容被选中了,然后每一行后面有光标在闪烁
然后再去转换成大写:
方法1:直接快捷键 Ctrl+Shift+U
可以直接得到,转后后的大写:
方法2:Cmd+Shift+P,再去输入 upper,找到 转换为大写(Transform to Uppercase) 的命令
和上面一样,即可转换成大写:
【总结】
此处,很多编辑器,比如Notepad++、Sublime、NodePad等都支持的:
正贼替换中,将某个group组中的内容,自动实现大小写转换:
  • \Lxxx\E:转换成小写,L=Lowecase
  • \Uxxx\E:转换成大写,U=Uppercase
此处VSCode的正则,不支持这种:
  • \U$1\E
然后找到了另外的workaround的办法:
思路:先(用正则)选中要转换的内容,再去用VSCode(之前就自带支持的)去转换成大写(或小写)
办法:
用正则选择要转换的内容:
此处是,正则搜索框中输入:
[\w/]+\(
可以看到匹配的内容,但是还要去用:
Mac:Command+F2
额外选中,此时被处理的内容,粉红色背景,光标闪烁
然后再去转换为大写或小写:
  • Ctrl+Shift+U:转换成大写
  • Ctrl+Shift+L:转换成小写
即可。

转载请注明:在路上 » 【已解决】VSCode正则替换后如何把字母从小写转换成大写

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.188 seconds, using 21.97MB memory