投稿

[今さら始める Python マスター #6] 文字列処理と正規表現

Pythonの文字列操作と正規表現の基本を説明します。検索、置換、分割、メールアドレス検証などの実用例を扱います。

[今さら始める Python マスター #6] 文字列処理と正規表現

文字列処理は実務でよく使う

Pythonでは、ログ、CSV、メール、Webページ、APIレスポンスなど、文字列を扱う場面がたくさんあります。文字列処理に慣れると、自動化やデータ整理がかなり楽になります。

基本的な文字列操作

文字列の長さは len() で確認できます。

1
2
text = "Python"
print(len(text))

大文字・小文字の変換もよく使います。

1
2
3
4
message = "Hello Python"

print(message.lower())
print(message.upper())

前後の空白を削除するには strip() を使います。

1
2
name = "  Sato  "
print(name.strip())

分割と結合

文字列を区切り文字で分けるには split() を使います。

1
2
3
csv_line = "apple,banana,orange"
items = csv_line.split(",")
print(items)

リストを文字列に戻すには join() を使います。

1
print(" / ".join(items))

置換

文字列の一部を置き換えるには replace() を使います。

1
2
text = "I like Java."
print(text.replace("Java", "Python"))

単純な置換なら replace() で十分です。複雑な条件で探したいときに正規表現を使います。

正規表現とは?

正規表現は、文字列のパターンを表すための書き方です。Pythonでは re モジュールを使います。

1
2
3
4
5
6
7
import re

email = "[email protected]"
pattern = r"^[\w\.-]+@[\w\.-]+\.\w+$"

if re.match(pattern, email):
    print("valid")

最初は記号が多くて難しく見えますが、「特定の形に合う文字列を探す道具」と考えると分かりやすいです。

よく使う正規表現の用途

  • メールアドレスの形式チェック
  • 電話番号の抽出
  • ログからエラー行を探す
  • 余分な空白の整理
  • 特定パターンの置換

学習のポイント

正規表現は強力ですが、何でも正規表現で解決する必要はありません。まずは split()strip()replace() などの基本操作を使い、それで足りないときに re を使うのがおすすめです。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。