2010-05-06 16 views
17

Ich möchte die ersten Zeichen aus einer Zeichenfolge entfernen. Gibt es eine Funktion, die so funktioniert?Entfernen Sie n Zeichen von einem Anfang einer Zeichenfolge

>>> a = "BarackObama" 
>>> print myfunction(4,a) 
ckObama 
>>> b = "The world is mine" 
>>> print myfunction(6,b) 
rld is mine 
+11

Ich habe noch nie ein Wort von Python geschrieben und doch konnte ich die Antwort auf diese Frage finden. Ich schlage vor, dass Sie in Google nach "String Manipulation in Python" suchen. Hier ist ein Link: http://www.astro.ufl.edu/~warner/prog/python.html – Armstrongest

+0

mögliche Duplikate von [wie linken Teil einer Zeichenfolge in Python zu entfernen?] (Http://stackoverflow.com/) Fragen/599953/how-to-remove-linker-Teil-einer-String-in-Python) – outis

Antwort

13

Die Funktion könnte sein:

def cutit(s,n):  
    return s[n:] 

und dann rufen Sie es wie folgt aus:

name = "MyFullName" 

print cutit(name, 2) # prints "FullName" 
8

Verwenden Sie Slicing.

>>> a = "BarackObama" 
>>> a[4:] 
'ckObama' 
>>> b = "The world is mine" 
>>> b[6:10] 
'rld ' 
>>> b[:9] 
'The world' 
>>> b[:3] 
'The' 
>>>b[:-3] 
'The world is m' 

Sie diesen und den meisten anderen Sprachfunktionen in der offiziellen Tutorial lesen: http://docs.python.org/tut/

18

Ja, nur verwenden Scheiben:

>> a = "BarackObama" 
>> a[4:] 
'ckObama' 

Dokumentation ist hier http://docs.python.org/tutorial/introduction.html#strings

+3

Kurz, prägnant und klar. Mit einem Verweis direkt auf den String-Bereich. Meins ist nur eine schlechte Auffrischung. Ich habe etwas Python gelernt, um diese Frage zu beantworten ... und ich werde jetzt meine Antwort entfernen. Muss das Durcheinander schneiden! – Armstrongest

4
a = 'BarackObama' 
a[4:] # ckObama 
b = 'The world is mine' 
b[6:] # rld is mine 
Verwandte Themen