Python | 文字列操作

Python
スポンサーリンク

Python文字列操作の基礎

Pythonでは文字列は 変更できない(immutable) データ型です。
つまり、一度作った文字列の内容を直接変更することはできませんが、新しい文字列を作る操作は簡単にできます。


1. 文字列の連結(結合)

複数の文字列をつなげたいときは + を使います。

a = "Hello"
b = "World"
c = a + b
print(c)  # HelloWorld

# 空白を入れたい場合
c = a + " " + b
print(c)  # Hello World
Python

💡 ポイント: + は文字列同士でしか使えません。整数などは文字列に変換する必要があります。


2. 文字列の繰り返し

同じ文字列を繰り返すときは * を使います。

s = "Hi"
print(s * 3)  # HiHiHi
Python

3. 文字列の長さ

文字列の長さを知りたいときは len() を使います。

s = "Python"
print(len(s))  # 6
Python

4. 文字列のインデックスとスライス

文字列の各文字には 位置番号(インデックス) があり、0から始まります。

s = "Python"

print(s[0])   # P(先頭)
print(s[-1])  # n(最後の文字)
Python

スライスで部分文字列を取得

print(s[0:3])   # Pyt(0〜2文字目まで)
print(s[2:])    # thon(2文字目以降)
print(s[:4])    # Pyth(先頭から3文字目まで)
print(s[::-1])  # nohtyP(逆順)
Python

💡 ポイント: s[start:end]start から end-1 までの範囲を取得します。[::-1] は文字列を逆順にするテクニックです。


5. 文字列の置換

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

text = "Hello World"
new_text = text.replace("World", "Python")
print(new_text)  # Hello Python

# 複数文字を一括で置換
text2 = "a-b-c-d"
print(text2.replace("-", "/"))  # a/b/c/d
Python

💡 ポイント: .replace(old, new) は新しい文字列を返すだけで、元の文字列は変わりません。


6. 文字列の分割と結合

分割

fruits = "apple,banana,cherry"
fruit_list = fruits.split(",")
print(fruit_list)  # ['apple', 'banana', 'cherry']
Python

結合

joined = "/".join(fruit_list)
print(joined)  # apple/banana/cherry
Python

💡 ポイント: split() は文字列をリストに変換、join() はリストを文字列に変換します。


7. 大文字・小文字変換

s = "python"
print(s.upper())  # PYTHON
print(s.lower())  # python
print(s.title())  # Python(単語の頭文字を大文字)
Python

8. 部分文字列の確認

文字列に特定の文字や単語が含まれているかを確認できます。

s = "Hello World"
print("Hello" in s)   # True
print("Python" not in s)  # True
Python

9. 例題

  1. "Python" の文字列を逆順にして大文字にして表示してみましょう。
s = "Python"
print(s[::-1].upper())  # DLROW NOHTYP(逆順+大文字)
Python
  1. "2025-11-05""05/11/2025" の形式に変換してみましょう。
date = "2025-11-05".split("-")
formatted = f"{date[2]}/{date[1]}/{date[0]}"
print(formatted)  # 05/11/2025
Python

💡 まとめ

  • +* で連結・繰り返し
  • [ ][start:end] で文字や部分文字列を取得
  • .replace() で置換、.split() / join() で分割・結合
  • .upper() / .lower() / .title() で大文字小文字変換
  • in / not in で部分文字列チェック
  • 文字列は変更不可なので、操作はすべて新しい文字列を作る形になる
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました