Wie kann man Großbuchstaben durch Unterstriche ersetzen?

7

Ich bin neu in Python und versuche, alle Großbuchstaben in einem Wort durch Unterstriche zu ersetzen, zum Beispiel:

%Vor%

sollte

werden %Vor%

Irgendwelche Ideen / Tipps / Links / Anleitungen, wie Sie das erreichen können?

    
TiGer 06.09.2011, 15:03
quelle

6 Antworten

10

Hier ist ein Regex-Weg:

%Vor%

Dies heißt: "Finde Punkte in der Zeichenkette, die nicht sind, gefolgt von einem Zeilenanfang, und sind , gefolgt von einem Großbuchstaben, und ersetze einen Unterstrich Dann senken wir () das Ganze.

    
Kris Jenkins 06.09.2011 15:28
quelle
8
%Vor%

BEARBEITEN: Eigentlich funktioniert das nur, wenn der erste Buchstabe Großbuchstabe ist. Ansonsten ist dies ( hier) ) macht das Richtige:

%Vor%     
xubuntix 06.09.2011 15:13
quelle
4

Dies erzeugt eine Liste von Elementen, wobei jedes Element "_" ist, gefolgt von dem kleingeschriebenen Buchstaben, wenn das Zeichen ursprünglich ein Großbuchstabe war, oder dem Zeichen selbst, wenn dies nicht der Fall war. Dann fügt er sie zu einer Zeichenfolge zusammen und entfernt alle führenden Unterstriche, die möglicherweise vom Prozess hinzugefügt wurden:

%Vor%

Übrigens, Sie haben nicht angegeben, was mit Unterstrichen zu tun ist, die bereits in der Zeichenfolge vorhanden sind. Ich war mir nicht sicher, wie ich mit diesem Fall umgehen sollte, also stürzte ich.

    
Kirk Strauser 07.09.2011 18:13
quelle
2
%Vor%     
Tyler Crompton 06.09.2011 15:17
quelle
1

Da niemand sonst eine Lösung mit einem Generator angeboten hat, hier ist eine:

%Vor%     
MattH 07.09.2011 09:06
quelle
0

Parsen Sie die Zeichenfolge, jedes Mal, wenn Sie einen Großbuchstaben vorfinden, fügen Sie ein _ davor ein und wechseln Sie dann das gefundene Zeichen in Kleinbuchstaben

    
KevinDTimm 06.09.2011 15:12
quelle