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

  • Artorius FullPower

    Artorius Ful

    29 Temmuz 2007
  • Best Quality Cartoons

    Best Quality

    10 ŞUBAT 2014
  • LearnCode.academy

    LearnCode.ac

    20 Aralık 2012