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

  • audivila

    audivila

    5 HAZİRAN 2009
  • Barnacules Nerdgasm

    Barnacules N

    20 Temmuz 2006
  • ehowhome

    ehowhome

    22 NİSAN 2009