web-dev-qa-db-fra.com

Atom Editor: RegEx remplacer en majuscules / minuscules

J'essaie de remplacer certains caractères d'une chaîne par leurs équivalents majuscules/minuscules dans Atom Editor.

Disons que j'ai la chaîne:

some:test:sequence

et veulent le résultat:

Some:Test:Sequence

Je connais des choses comme \u$1 et \l$1, mais ils ne fonctionnent pas dans Atom, car Atom utilise RegEx de style JS. Les solutions JS-RegEx que j'ai trouvées, cependant, impliquent toujours d'appeler une fonction ( voir exemple ici ), ce qui n'est pas possible dans Atom, afaik.

Est-ce que quelqu'un sait s'il existe un moyen d'y parvenir? Cela ne me dérange pas non plus d'installer un package pour une recherche/remplacement d'expressions regex plus puissante, mais je n'en ai pas trouvé un et j'aimerais éviter d'en écrire un moi-même juste pour cela.

Veuillez noter: Je ne cherche pas de solution pour trouver/sélectionner les personnages. La sélection fonctionne très bien et est un peu plus complexe que dans l'exemple.

33
max

Notez que bien que vous ayez dit que la question ne concerne pas la sélection, j'utilise un exemple plus simplifié.

Si vous avez une chaîne composée de: This is a Mixed case String! I want every Letter to Start with A Capital.

Vous pouvez utiliser le sélecteur Regex de \b\w pour rechercher les premiers caractères de chaque mot de la chaîne. (Fait par Cmd + F et en cliquant sur .* dans le menu de droite pour la recherche Regex)

Appuyez maintenant sur Alt + Entrée pour sélectionner tous les résultats trouvés, cela devrait mettre en évidence tous les résultats de la requête Regex. Ensuite, pour mettre en majuscule chaque première lettre, vous pouvez appuyer sur Cmd + K -> Cmd + U, vous pouvez les modifier comme vous le souhaitez à partir d'ici.

Boom! La chaîne devrait maintenant ressembler à: This Is A Mixed Case String! I Want Every Letter To Start With A Capital.

Je cherche une réponse à cette question depuis un moment, voici mes sources pour la réponse:

36
Aaron Critchley

Appuyez sur alt + entrée pour sélectionner toutes les correspondances, puis allez dans le menu: Edition -> Texte -> Majuscules ou minuscules

6
Sergey Panarek

Une sorte de solution simple dans le cadre de Regex simple serait de faire le remplacement de chaque personnage séparément. Ce n'est probablement pas pratique (si vous devez déclencher chaque remplacement manuellement), mais cela fonctionne.

Recherchez tous les "a" minuscules au début de chaque mot, remplacez-les par les "A" majuscules. Ensuite, "b" pour "B", ... jusqu'à ce que vous ayez tous les caractères pertinents pour votre langue/jeu de caractères cible.

1
azt