2017-01-09 6 views
-4

Ist das möglich? Um alles in einer Zeichenfolge nach einer beliebigen Zahl zu löschen?Alles nach einer Zahl in einer Zeichenfolge entfernen


Eg .:

some_text = "123 Text" 
some_text_2 = "456 Foo" 

Ich möchte nur 123 und 456 ohne den Raum zu bekommen, und diese Zahlen würden eine Zufallszahl

+0

Ich möchte nicht den Platz bekommen, aber ich weiß, Leerzeichen mit 'ersetzen 'Funktion zu entfernen –

+1

Um zu vereinfachen, ist es sinnvoll,' some_text.split() [0] 'zu verwenden? – ti7

+2

Ich bin verwirrt, willst du alles nach einer Nummer löschen oder alles hinter einer Nummer behalten? –

Antwort

2

Mit wenig Suche auf Stack-Überlauf sein.

Removing numbers from string

Für Python 2:

from string import digits 

s = 'abc123def456ghi789zero0' 
res = s.translate(None, digits) 
# 'abcdefghizero' 

Für Python 3:

from string import digits 

s = 'abc123def456ghi789zero0' 
remove_digits = str.maketrans('', '', digits) 
res = s.translate(remove_digits) 
# 'abcdefghizero' 

und fügen Sie eine replace Funktion, um den Raum zu entfernen.

+0

Es ist wirklich keine gute Sache, eine Antwort direkt zu kopieren, ohne sie zu verbessern. Besser als doppelt markieren. –

+0

Er möchte die Nummer behalten, nicht die Nummer entfernen. – Barmar

+0

@Barmar in der vorherigen Bearbeitung seines Beitrags: 'Ich möchte nur Text und Foo bekommen –

Verwandte Themen