Ce n'est pas aussi simple qu'il n'y paraît. La plupart d'entre vous pensent probablement à la regex /([A-Z])/_$1/
comme je l'ai trouvé partout sur Internet, mais ma situation particulière est légèrement plus compliquée. Ma chaîne source contient plus de contenu que ne veulent pas converti avant une partie que je faire.Convertit le setter Pascal en un nom de variable séparé par un trait de soulignement
Tenir compte d'un setter régulier:
public function setUserId()
Bien sûr, cette méthode manque un paramètre. Peut-être que j'ai beaucoup de ces méthodes. Je voudrais convertir cette ligne en
public function setUserId($user_id)
qui est une chose assez simple à considérer, mais pas si simple que je médite plus profondément. C'est similaire à Andreas_D dans this thread, mais avec le défi supplémentaire d'essayer de modifier itérativement le nom de la variable ...
Cela va probablement être quelque chose d'évident en utilisant des expressions régulières, mais je suis encore assez nouveau avec eux. De toute façon, je ne peux pas trouver une solution décente à ce problème n'importe où dans mes recherches. Edit: bien sûr, je me rends compte qu'il n'y a pas de majuscule en "fonction publique" qui le laisse en sécurité. Mais, cette recherche & substitution sera exécutée contre des blocs de code, et je veux m'assurer que la chaîne que je suis modifié commence avec "fonction publique".
IMPRESSIONNANT MizardX. C'est exactement ce dont j'avais besoin et ça marche très bien. Je ne connais pas encore Python (j'ai toujours l'intention d'apprendre ...) mais c'est un langage très intuitif, facile à lire. Très bon choix pour un cas de test. – JMTyler