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.
Ich habe zur Zeit Python 2.2.2 auf dem System und entgegen einiger Bücher und Meldungen aus diversen Foren funktioniert bei mir die Funktion strip() nicht. Klar ich hab an den import der Klasse String usw. gedacht.
Ich hab das Problem auf eine sehr unschöne Art und WEise gelöst. Aber mich wurmt es halt immer noch, warum strip() nicht funktioniert.
Danke schon mal für die aufklärenden Antworten von euch.
gib mal bitte Codebeispiele und deren Ausgabe an, damit man sich das mal näher anschauen kann... Aus dem Hilfetext geht ja hervor, dass das 2. Argument erst später dazukam, aber ich (wir) wissen ja nicht wie du strip benutzen willst.
python.org Documentation hat geschrieben:
strip(s, [chars])
Return a copy of the string with leading and trailing characters removed. If chars is omitted or None, whitespace characters are removed. If given and not None, chars must be a string; the characters in the string will be stripped from the both ends of the string this method is called on. Changed in version 2.2.3: The chars parameter was added. The chars parameter cannot be passed in earlier 2.2 versions.
>>> import string
>>> test = 'bla bla bla bla bla bla bla'
>>> test.strip(test,' ')
Traceback (most recent call last):
File "<pyshell#2>", line 1, in ?
test.strip(test,' ')
TypeError: strip() takes at most 1 argument (2 given)
>>>
>>> import string
>>> test = 'la la la la la la la la'
>>> test=test.strip(' ')
>>> print test
la la la la la la la la
>>>
>>> test = string.strip(test,' ')
>>> print test
la la la la la la la la
>>>
ich habe es nocheinmal ausprobiert ganz nach Deinen Anregungen Jan.
Ich habe beide Versionen ausprobiert und das sind die Resultate. Bitte sag mir das ich nen Flüchtigkeitsfehler habe. Ich verstehe nämlich mittlerweile nicht mehr Warum das anscheinend nur bei mir ncith funktioniert.
2bock_ hat geschrieben:
Ich habe beide Versionen ausprobiert und das sind die Resultate. Bitte sag mir das ich nen Flüchtigkeitsfehler habe.
Wie war der Spruch? Der Computer macht nicht das, was man will, sondern das was man ihm sagt.
Anscheinend willst Du die Leerzeichen inmitten des Strings löschen. strip() löscht aber nur "leading and trailing" Zeichen. Entweder Du nimmst string.replace() oder, falls Du eine Zeichenmenge hast, string.translate(). Ein Beispiel für Letzteres, da das Wie vielleicht nicht so offensichtlich ist: >>> test = "ABCD"
>>> print test.translate(string.maketrans("",""),"AC")
BD
>>>
Ein regulärer Ausdruck ginge auch, wäre aber hier "überqualifiziert".
>>> test = "bla bla bla bla"
>>> print "".join(test.split())
blablablabla
>>> test2 = "bla bla\nbla\tbla"
>>> print test2
bla bla
bla bla
>>> print "".join(test2.split())
blablablabla