Python 文字列操作:分割と結合の基本と応用
Pythonで文字列を扱う際、文字列の分割と結合は非常に重要な操作です。この記事では、split()
とjoin()
メソッドの使い方から、より複雑な文字列処理まで、具体的なコード例を交えながら分かりやすく解説します。
文字列を分割する:split()
の活用
split()
メソッドは、文字列を特定の区切り文字に基づいて分割し、リストとして返します。
基本的な使い方:空白で分割
split()
に引数を指定しない場合、文字列は空白文字で分割されます。
a = "Hello, how are you?"
words = a.split()
print(words) # 出力: ['Hello,', 'how', 'are', 'you?']
区切り文字を指定して分割
カンマや特定の記号で文字列を分割したい場合は、split()
の引数に区切り文字を指定します。
a = "Geeks,for,Geeks"
b = a.split(",")
print(b) # 出力: ['Geeks', 'for', 'Geeks']
行ごとの分割:splitlines()
複数行の文字列を改行コードで分割するには、splitlines()
メソッドが便利です。
a = "Geeks\nfor\nGeeks"
result = a.splitlines()
print(result) # 出力: ['Geeks', 'for', 'Geeks']
文字列を結合する:join()
の活用
join()
メソッドは、リストなどのイテラブルなオブジェクトに含まれる文字列を、指定した区切り文字で連結します。
基本的な使い方:スペースで結合
スペースで文字列を連結する場合は、" ".join(リスト)
のように記述します。
a = ['Geeks', 'for', 'Geeks']
result = " ".join(a)
print(result) # 出力: Geeks for Geeks
区切り文字を指定して結合
ハイフンやアンダースコアなど、任意の区切り文字で文字列を連結できます。
a = ['Geeks', 'for', 'Geeks']
result = "-".join(a)
print(result) # 出力: Geeks-for-Geeks
forループを使った結合(非推奨)
join()
メソッドと同等のことをfor
ループでも実現できますが、効率が悪いため、特別な理由がない限りjoin()
の使用をおすすめします。
a = ['Geeks', 'for', 'Geeks']
result = ""
for i, word in enumerate(a):
result += word
if i < len(a) - 1:
result += " "
print(result)
まとめ:split()
とjoin()
をマスターして文字列操作を自在に
split()
とjoin()
メソッドは、Pythonで文字列を効果的に処理するための強力なツールです。これらのメソッドを理解し使いこなすことで、テキストデータの解析や加工が容易になり、プログラミングの幅が広がります。
Shubham Rana
参考資料:GeeksforGeeks - Python Program to Split and Join a String