Viac na
Najlepší spôsob odstránenia interpunkcie z reťazca
Zdá sa, že by mal existovať jednoduchší spôsob ako:
import string
s = "string. With. Punctuation?" # Sample string
out = s.translate(string.maketrans("",""), string.punctuation)
Existuje?
570
3
Z hľadiska efektívnosti sa vám nepodarí poraziť
Pre vyššie verzie Pythonu použite nasledujúci kód:
Vykonáva operácie so surovými reťazcami v jazyku C pomocou vyhľadávacej tabuľky - nie je toho veľa, čo by to prekonalo, ale napíšte si vlastný kód v jazyku C.
Ak vás netrápi rýchlosť, je tu iná možnosť:
Je to rýchlejšie ako s.replace s každým znakom, ale nebude to fungovať tak dobre ako iné ako pythonovské prístupy, ako sú regexy alebo string.translate, ako môžete vidieť z nižšie uvedených časov. Pri tomto type problému sa oplatí robiť to na čo najnižšej úrovni.
Časovanie kódu:
Výsledkom sú nasledujúce výsledky:
Zvyčajne používam niečo podobné:
Nie nevyhnutne jednoduchšie, ale iným spôsobom, ak ste lepšie oboznámení s rodinou re.