3秒でわかる
文字列を切る、つなぐ、探す、置き換える加工の総称。ログの解析や画面に出すための整形など、実務でもっとも出番の多い操作です。
もう少し詳しく
どういうものか
文字列操作は、文字の並びを対象にした加工全般を指します。連結、切り出し、検索、置換、分割、余分な空白の除去、大文字小文字の変換などが含まれます。Pythonの文字列はイミュータブルで、replace や upper は元の文字列を書き換えず、新しい文字列を作って返します。この性質を知らないと、返り値を捨ててしまい「変わらない」と悩むことになります。
なぜ必要か
プログラムが外から受け取るデータは、たいてい文字列の形をしています。フォームの入力も、CSVの1行も、APIのレスポンスも最初は文字列です。数値として計算したり、条件で振り分けたりする前に、必要な部分を取り出して整える工程が必ず入ります。逆に画面へ出すときも、数値を桁区切りにしたり日付の形を揃えたりと、最後にもう一度文字列へ戻ります。
具体例
line = " 2026-08-14,ERROR,decode failed "
s = line.strip() # 前後の空白を除去
date, level, msg = s.split(",") # 区切って分解
print(level.lower()) # error
print(msg.replace("failed", "retried"))
name, count = "みかん", 3
print(f"{name}を{count}個 買いました") # f文字列で埋め込む
print(s.startswith("2026")) # True
print("ERROR" in s) # True
print(s[0:4]) # 2026split と strip と f文字列の3つを覚えるだけで、ログ整形の大半は書けます。
つまずきやすいところ
s.replace("a", "b") と書いただけで s が変わると思い込む誤解が最も多く見られます。s = s.replace("a", "b") と代入し直す必要があります。次に多いのが添字のずれで、s[0:4] は0番目から3番目までであり4番目は含みません。日本語では文字数とバイト数も一致しないため、len の結果とファイルサイズは別物として扱います。
似た用語との違い
| 語 | 内容 |
|---|---|
| 文字列連結 | つなげる操作だけを指す |
| フォーマット | 値を埋め込んで表示用に整える操作 |
| 正規表現 | パターンで探す、より強力な検索置換の仕組み |
覚え方
切る、つなぐ、探す、置き換える の4つに整理すると、どの言語でも対応するメソッドを探しやすくなります。返り値を受け取り直す点だけ共通の注意点です。