zeichen aus einem String schneiden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Hallo Zussammen,

ich hab mal ne Frage Strings betreffend.
Ich möchte aus einem String Zeichen bis zu einem Space
herausschneiden. Wie kann ich das am Schnellsten und Effektivsten
bewerkstelligen.

Danke für eure Hilfe
alpha
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Meinst du bis zum ersten Space in einem string, oder generell bis zu einem Space de Zeichen zum bearbeiten herausholen? Oder den String bis auf diese Zeichen vor dem ersten benutzen?

Ich mach mal ein paar Beispiele:

Code: Alles auswählen

>>> s="Ich bin ein String."
>>> s[s.find(' ')+1:]
'bin ein String.'
>>> s.split(' ')[0]
'Ich'
>>> s.split(' ')
['Ich', 'bin', 'ein', 'String.']
Ich hoffe mal ich hab was getroffen, weil ich ohne Beispiele mir meist nix genaues vorstellen kann...
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Hallo!
alpha hat geschrieben:Ich möchte aus einem String Zeichen bis zu einem Space
herausschneiden. Wie kann ich das am Schnellsten und Effektivsten
bewerkstelligen
Rausschneiden, um den Teil vor'm Leerzeichen zu bekommen oder um ihn zu löschen?

Für Ersteres:
s = "abc def ghi"
s2 = s.split(' ',1)[0]


Für Letzteres:
s2 = s.split(' ',1)[1]
oder, falls nicht garantiert ist, dass es mind. ein Leerzeichen gibt:
s2 = ((s+' ').split(' ',1)[1]).rstrip(' ')

Mit einem Regexp ginge es natürlich am einfachsten, aber nicht am schnellsten.
Jan
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hallo,

mit split ohne Parameter wird der String an jedem "Whitespace" getrennt.

Code: Alles auswählen

>>> s = "Dies ist  ein\tTest\nmit verschiedenen   Whitespaces"
>>> print s
Dies ist  ein	Test
mit verschiedenen   Whitespaces

>>> print s.split()
['Dies', 'ist', 'ein', 'Test', 'mit', 'verschiedenen', 'Whitespaces']

Gruß

Dookie
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Hallo,

Danke für eure schnelle Hillfe.
An Milan:
Ich brauche den Text vor dem Spacezeichen.
Das mit dem Split ist also schon eine Gute Idee.
Danke.
Da ich aber sehr viele Strings durchsuchen muß bin ich
aber für schnellere Ideen immer zu haben. Danke

Bis dann,
alpha
Antworten