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

  • androidandme

    androidandme

    10 Mart 2009
  • Ben Vivona

    Ben Vivona

    24 Ocak 2010
  • H3Ctic (old channel)

    H3Ctic (old

    23 Mart 2011