Atom Editor: RegEx replace to uppercase/lowercase

max picture max · Feb 23, 2015 · Viewed 14.4k times · Source

I'm trying to replace some characters in a string with their uppercase/lowercase equivalents in Atom Editor.

Let’s say I have the string:

some:test:sequence

and want the result:

Some:Test:Sequence

I’m aware of things like \u$1 and \l$1, but they do not work in Atom, as Atom is using JS-style RegEx. The JS-RegEx solutions I found, however, always involve calling a function (see example here), which is not possible in Atom, afaik.

Does anyone know if there is a way to achieve this? I also don’t mind installing a package for a more powerful regex search/replace, but haven’t found one and I’d like to avoid writing one on my own just for this.

Please note: I’m not looking for a solution to find/select the characters. The selection works just fine and is a bit more complex as in the example.

Answer

Aaron Critchley picture Aaron Critchley · Oct 13, 2015

Note that whilst you said the question is not about the selection, I'm using a more simplified example.

If you have a string consisting of: This is a Mixed case String! I want every Letter to Start with A Capital.

You can use the Regex selector of \b\w to find the first characters of every word in the string. (Done by Cmd + F and clicking .* on the right hand menu for Regex search)

Now press Alt + Enter to select all of the found results, this should highlight all results of the Regex query. Following this, to make every first letter uppercase you can press Cmd + K -> Cmd + U, you can modify them however you want from here.

Boom! The string should now look like: This Is A Mixed Case String! I Want Every Letter To Start With A Capital.

I've been looking for an answer for this question for a while, here are my sources for the answer: