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

Susan Sarandon
發布: 2024-11-01 14:11:02
原創
877 人瀏覽過

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 字元?

解 1:

<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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!