Bijvoorbeeld:
asking="hello! what's your name?"
Kan ik dit gewoon doen?
asking.strip("!'?")
Antwoord 1, autoriteit 100%
Een heel eenvoudige implementatie is:
out = "".join(c for c in asking if c not in ('!','.',':'))
en blijf andere soorten leestekens toevoegen.
Een efficiëntere manier zou zijn
import string
stringIn = "string.with.punctuation!"
out = stringIn.translate(stringIn.maketrans("",""), string.punctuation)
Bewerken: er is hier wat meer discussie over efficiëntie en andere implementaties:
De beste manier om interpunctie uit een tekenreeks in Python te verwijderen
Antwoord 2, autoriteit 71%
import string
asking = "".join(l for l in asking if l not in string.punctuation)
filter met string.punctuation
.
Antwoord 3
Dit werkt, maar er zijn wellicht betere oplossingen.
asking="hello! what's your name?"
asking = ''.join([c for c in asking if c not in ('!', '?')])
print asking
Antwoord 4
Strip werkt niet. Het verwijdert alleen algemene instanties, niet alles daartussenin: http: // docs.python.org/2/Library/sttypes.html#str.strip
plezier met filter:
import string
asking = "hello! what's your name?"
predicate = lambda x:x not in string.punctuation
filter(predicate, asking)