Comment remplacer les lettres majuscules par des lettres minuscules en utilisant regex dans Eclipse?

j'aimerais parcourir tous mes fichiers de code source et remplacer chaque occurrence de k_Xyyy par k_xyyy (changer la première lettre après k_ de Majuscule à minuscule).

j'utilise la boîte de dialogue eclipse pour rechercher et remplacer plusieurs fichiers. En ce moment, j'ai le regex bk_([A-Z]) .

comment spécifier la chaîne de remplacement du regex?

30
demandé sur ErikE 2010-02-12 16:06:44

4 réponses

c'est impossible. Soit utiliser la fonctionnalité de reconfiguration D'Eclipse, soit les remplacer une à la fois:

regex       : \bk_A
replacement : k_a 

regex       : \bk_B
replacement : k_b 

...

regex       : \bk_Z
replacement : k_z 
11
répondu Bart Kiers 2010-02-12 13:28:04

je viens de résoudre la même tâche (a dû transformer l'interface .net en interface java) en utilisant la puissance de VIM:)

void DoMethod1 -> void doMethod1
Foo PerformMethod2 -> Foo performMethod2
:%s/\(^\s*\w\+\s\+\)\([A-Z]\)/\L/g

nous recherchons ici (indentation optionnelle suivie du type de retour suivi de l'espace) suivi de (Majuscule). Les attelles capturent les groupes. Ensuite, nous effectuons un remplacement en capturant d'abord le groupe \1 en minuscules \l en capturant ensuite le groupe \2.

bien sûr, vous devez ouvrir le fichier dans Vim, mais de toute façon c'est beaucoup plus rapide que de faire la même chose à la main dans Eclipse.

15
répondu edio 2012-07-24 16:31:56

j'ai eu besoin de faire cela pour un énorme morceau de code source où la littérature chaîne devait être convertie en minuscules. J'ai trouvé un moyen d'utiliser Notepad++ et le plugin de Script Python, comme utilisé ici .

1
répondu Nick 2017-05-23 10:30:49

(pour moi, depuis que je commence à programmer, c'était plus amusant de penser à) Prendre $pattern_to_change et le convertir de ascii à décimal en utilisant ord() .Prenez le numéro dec résultant et ajoutez 32. Puis convertissez $desired_pattern de nouveau en ascii en utilisant chr() .

ou tout simplement télécharger SublimeText et utiliser sa fonction Find and Replace pour trouver toutes les occurrences et les remplacer par du texte de différence (Sublime a regex aussi).

je suis sûr que vous aurait pu convertir un milliard à la main puisque ce post est comme 5 ans, mais vous pourriez avoir terminé cela en 5 minutes avec Sublime.

éditeur de texte très utile.

0
répondu les 2013-11-09 01:46:10