SORU
14 AĞUSTOS 2009, Cuma


Ama alfasayısal sıyırma her şeyi Python ile bir dizeden karakterleri

Bir dize tüm sayısal olmayan karakterler, Python kullanarak şerit için en iyi yolu nedir?

Çözümleri PHP variant of this question sunulan muhtemelen bazı küçük ayarlamalar ile çalışacak, ama çok görünmüyor 'pythonic' bana.

Kayıt için, virgül ve diğer noktalama), ama aynı zamanda tırnak, parantez, vb dönemleri şerit istemiyorum.

CEVAP
14 AĞUSTOS 2009, Cuma


Ben sadece meraktan bazı işlevler uğradı

$ python -m timeit -s \
     "import string" \
     "''.join(ch for ch in string.printable if ch.isalnum())" 
10000 loops, best of 3: 57.6 usec per loop

$ python -m timeit -s \
    "import string" \
    "filter(str.isalnum, string.printable)"                 
10000 loops, best of 3: 37.9 usec per loop

$ python -m timeit -s \
    "import re, string" \
    "re.sub('[\W_]', '', string.printable)"
10000 loops, best of 3: 27.5 usec per loop

$ python -m timeit -s \
    "import re, string" \
    "re.sub('[\W_] ', '', string.printable)"                
100000 loops, best of 3: 15 usec per loop

$ python -m timeit -s \
    "import re, string; pattern = re.compile('[\W_] ')" \
    "pattern.sub('', string.printable)" 
100000 loops, best of 3: 11.2 usec per loop

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jay Will

    Jay Will

    19 NİSAN 2006
  • Mary Jane Tauyan

    Mary Jane Ta

    20 AĞUSTOS 2009
  • World Science Festival

    World Scienc

    1 Mayıs 2008