Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで文字列から印刷できない文字を削除するにはどうすればよいですか?


ASCII文字しかなく、印刷できない文字を削除したい場合、最も簡単な方法は、string.printableを使用してそれらの文字を除外することです。たとえば、

>>> import string
>>> filter(lambda x: x in string.printable, '\x01string')
string

0x01は印刷可能な文字ではないため、印刷されませんでした。 Unicodeもサポートする必要がある場合は、Unicodeデータモジュールと正規表現を使用してこれらの文字を削除する必要があります。

import sys, unicodedata, re
# Get all unicode characters
all_chars = (unichr(i) for i in xrange(sys.maxunicode))
# Get all non printable characters
control_chars = ''.join(c for c in all_chars if unicodedata.category(c) == 'Cc')
# Create regex of above characters
control_char_re = re.compile('[%s]' % re.escape(control_chars))
# Substitute these characters by empty string in the original string.
def remove_control_chars(s):
    return control_char_re.sub('', s)
print (remove_control_chars('\x00\x01String'))
出力 これにより出力が得られます:

String

  1. Pythonの文字列から最初のn文字を削除する

    スライス構文を使用すると、特定の文字または文字の範囲を、それらの文字のインデックス値に基づいて文字列から削除できます。 このガイドでは、最初のnを削除する方法について説明します Pythonの文字列からの文字。スライス構文の例を紹介し、独自のプログラムでの使用方法を学習できるようにします。 Python:文字列のインデックス作成 文字列は文字のシーケンスです。文字列内の各文字には、一意のインデックス番号が付けられます。この番号を使用すると、特定の文字または文字のセットを識別して操作できます。 インデックス番号はゼロから始まり、文字ごとに1ずつ増加します。文字列を見てみましょう。

  2. Python 3でtkinterファイルダイアログから文字列を取得するにはどうすればよいですか?

    tkinterアプリケーションでファイルシステムと対話するには、Tkinter filedialogを使用できます。 モジュール。これは、システム内のファイルを処理する方法を提供します。 ファイルダイアログ モジュールは、開発者がアプリケーションのさまざまなファイルダイアログを作成するのに役立つ多くの組み込み関数を提供します。 ファイルダイアログのいずれかを使用できます アプリケーションにダイアログを実装するための関数。 最も一般的に使用される関数はfiledialog.askopenfilename()です。 これは通常、特定のプログラムインターフェイスでファイルを開くようにユーザーに求