Pythonのstring.whitespaceとは?空白文字を扱う定数の使い方を徹底解説
このチュートリアルでは、Python3のstringモジュールにあらかじめ定義されている定数string.whitespaceについて詳しく解説します。
string.whitespaceは、ASCII文字における空白文字をまとめて格納した文字列定数です。具体的には、以下の6種類の空白文字が含まれています。
- スペース(space):半角空白「 」
- タブ(tab):「\t」
- ラインフィード(linefeed):「\n」(改行)
- キャリッジリターン(return):「\r」
- フォームフィード(formfeed):「\x0c」
- バーティカルタブ(vertical tab):「\x0b」
string.whitespaceの基本的な使い方
まずは、string.whitespaceを実際に出力してみましょう。以下のコードでは、通常の文字列と空白文字の出力結果を比較しています。
# stringモジュールをインポート
import string
# 通常の文字列を出力
print("Hello")
# whitespaceの中身を出力
print(string.whitespace)
# 通常の文字列を出力
print('tutorialspoint')
実行結果
上記のコードを実行すると、次のような出力が得られます。
Hello \n\r\x0b\x0c tutorialspoint
出力を見ると、Helloとtutorialspointの間に空白文字が表示されていることがわかります。一見すると空行のように見えますが、これはspace・tab・linefeedなどの目に見えにくい文字が順番に出力されたためです。repr()関数を使うと、含まれる文字を明示的に確認できます。
import string print(repr(string.whitespace)) # 出力: ' \t\n\r\x0b\x0c'
実践的な活用例
string.whitespaceは、文字列から空白文字を取り除いたり、空白文字かどうかを判定したりする際に便利です。
例1:文字列からすべての空白文字を削除する
import string
text = "Hello\tWorld\nPython"
result = text.translate(str.maketrans('', '', string.whitespace))
print(result) # 出力: HelloWorldPython
例2:文字が空白文字かどうかを判定する
import string
char = '\t'
if char in string.whitespace:
print("この文字は空白文字です")
else:
print("この文字は空白文字ではありません")
まとめ
string.whitespaceは、Python3のstringモジュールで定義されている空白文字の集合です。テキスト処理やデータクレンジングの場面で頻繁に活躍するため、ぜひ使い方をマスターしておきましょう。
本チュートリアルについて不明な点がある場合は、コメント欄でお気軽にご質問ください。
-
Pythonのcasefold()メソッドとは?文字列の小文字変換と比較方法を解説
Pythonのcasefold()は、文字列内の英字をすべて小文字に変換するためのメソッドです。lower()と似ていますが、より積極的な変換を行う点が特徴で、ドイツ語の「ß」が「ss」に変換されるなど、国際化対応において強力な働きをします。2つの文字列に対してcasefold()を適用すれば、大文字・小文字の違いを無視して値を一致させることができます。そのため、ユーザー入力の比較や検索処理などで非常に役立ちます。casefold()の基本的な使い方次の例では、文字列にcasefold()を適用し、すべて小文字に変換された結果を出力しています。コード例string = BestTutorial
-
Pythonで文字列を空白で分割する方法:split()と正規表現の使い方
Pythonでは、文字列を空白(スペース・タブ・改行など)で分割する場面がよくあります。ユーザー入力の解析やテキストデータの処理などがその代表例です。この記事では、空白で文字列を分割する代表的な2つの方法を、具体例とともにわかりやすく解説します。 方法1:split()メソッドを使う(おすすめ) 最もシンプルで一般的な方法は、文字列クラスに組み込まれた split() メソッドを使うことです。引数を指定しない場合、デフォルトの区切り文字として「空白文字」が使用され、連続した空白も自動的に適切に処理されます。 >>> Please split this string.spli