我有一个xml文档,我在notepad ++中编辑
name="TEXT"
name="TEXT2"
任何人都可以帮助命令/查找和替换将转换名称中的所有内容=""到Propercase
期望的结果
name="Text"
name="Text2"
我无法将整个xml编辑为rightcase
答案 0 :(得分:1)
你可以匹配正则表达式
name="([a-zA-Z])(\w*)
并将其替换为
name="\U\1\L\2
你可以在这里找到一个例子 https://regex101.com/r/U6F3Dc/1/
答案 1 :(得分:0)
使用Ctrl + Alt标记+鼠标左键单击您想要的文本
在第6列到第
行的情况下编辑 - >将案例转换为 - >适当
Alt +U
答案 2 :(得分:0)
^name="\K(\w)(\w+)(?:(\s\w)(\w+)(?:(\s\w)(\w+))?)?
\U$1\L$2\U$3\L$4\U$5\L$6
<强>解释强>
^name="\K : matches literally name=" then forget it
(\w)(\w+) : first letter in group 1, rest of word in group 2
(?: : start non capture group
(\s\w)(\w+) : a space and first letter in group 3, rest of word in group 4
(?: : start non capture group
(\s\w)(\w+) : a space and first letter in group 5, rest of word in group 6
)? : end non capture group, optional
)? : end non capture group, optional
您可以添加任意数量的非捕获组来处理任意数量的单词。
<强>替换强>
\U$1\L$2 : uppercase group 1, lower case group 2
\U$3\L$4 : uppercase group 3, lower case group 4
\U$5\L$6 : uppercase group 5, lower case group 6
<强>原始强>
name="TEXT"
name="TEXT2"
name="JOHN SMITH"
name="JOHN SMITH2"
name="JOHN SMITH CARTER"
给定示例的结果:
name="Text"
name="Text2"
name="John Smith"
name="John Smith2"
name="John Smith Carter"
另一种适用于任意数量单词的方法,但需要运行3 replace_all:
<强>首先强>
在第一个单词前添加一个空格:
^name="\K
A SPACE
<强>第二强>
将所有单词更改为Propercase:
(\s\w)(\w+)
\U$1\L$2
<强>第三强>
删除第一个单词前面的空格:
"\s
"