I'd like to replace Context
in myAppContext
and upper case on tab pressing, so the end result should be MyApp
.
I would rather do it all at once. Here's where I started.:
To remove 'Context' I can do ${1/Context//}
and for uppercase: ${1/(^[a-z])/${1:/upcase}/}
.
What is the best way to combine these two?
CodePudding user response:
You can use
${1/^([a-z])|Context/${1:/upcase}/g}
See the regex demo.
Here, ^([a-z])|Context
matches either a lowercase ASCII letter at the start of the string (capturing it into Group 1) or a Context
substring, and replaces the match with the uppercased Group 1 value (which will be empty if Context
matches.
CodePudding user response:
Using the capitalize
transform this is very easy:
${1/(.*)Context/${1:/capitalize}/}
Just capitalize everything before Context
- capitalize
only works on the first letter anyway. No need for a g
flag.