如何有效地從 Python 字串中刪除非字母數字字元?

Barbara Streisand
發布: 2024-11-05 22:20:02
原創
860 人瀏覽過

How Can I Efficiently Remove Non-Alphanumeric Characters from Strings in Python?

從Python 中的字串中剝離非字母數字字元

從字串中剝離非字母數字字元包括刪除除字母、數字和下劃線。雖然 PHP 存在解決方案,但它們可能不符合 Python 原則。

一種有效的方法是定義一個符合非字母數字字元 (W_) 的正規表示式,並將其替換為空字串。將re.sub() 函數與已編譯的正規表示式模式一起使用:

<code class="python">import re, string
pattern = re.compile('[\W_]+')  # Compiled regular expression
string.printable = string.printable.replace(pattern, '')  # Substitute non-alphanumeric characters with empty string</code>
登入後複製

其他方法包括使用列表理解來過濾掉非字母數字字元或使用filter( 中的str.isalnum( ) 方法):

<code class="python">''.join(ch for ch in string if ch.isalnum())
filter(str.isalnum, string)</code>
登入後複製

比較基準測試表明,使用編譯的正則表達式的re.sub() 方法產生了最佳性能:

$ 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
登入後複製

以上是如何有效地從 Python 字串中刪除非字母數字字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板