首頁  >  文章  >  後端開發  >  如何在 Python 中用單一空格替換非 ASCII 字元?

如何在 Python 中用單一空格替換非 ASCII 字元?

Susan Sarandon
Susan Sarandon原創
2024-11-01 14:11:02878瀏覽

How to Replace Non-ASCII Characters with a Single Space in Python?

用單一空格取代非 ASCII 字元

在 Python 中,用空格取代非 ASCII 字元並不是一件簡單的任務。有許多刪除非 ASCII 字元的解決方案,但替換仍然是一個不常見的要求。

提供的函數,remove_non_ascii_1,可以有效地刪除所有非 ASCII 字元。另一方面,remove_non_ascii_2 用空格替換非 ASCII 字符,但空格的數量對應於字符的代碼點大小。

現在,讓我們解決核心問題:

我們如何用一個字元取代所有非ASCII 字元space?

解11 :

<code class="python">def replace_with_space(text):
    return ''.join([i if ord(i) < 128 else ' ' for i in text])</code>

此方法在''.join() 的列表理解中採用條件表達式。 ASCII 值在 128 以下的字元保持不變,而非 ASCII 字元則替換為空格。

解 2:

<code class="python">import re

def replace_with_space(text):
    return re.sub(r'[^\x00-\x7F]+', ' ', text)</code>

在此解決方案中,字元正規表示式中確保連續的非 ASCII 字元被替換為單一空格。這消除了remove_non_ascii_2中插入多個空格的問題。

以上是如何在 Python 中用單一空格替換非 ASCII 字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn