文字列の結合と分割 | 文字列の操作 | Python本格超入門

スポンサーリンク
スポンサーリンク
amazon
スマイルSALE
--:--:--
ad. 価格範囲を指定して商品を探せます

文字列の結合と分割

Pythonでは、文字列を結合したり、分割したりすることが非常に簡単に行えます。これらの操作は、データの整形やCSVファイルの解析など、さまざまな場面で役立ちます。この章では、文字列の結合と分割に関する基本的な操作方法を詳しく解説します。

文字列の結合

Pythonでは、+演算子を使って文字列を結合できます。また、複数の文字列をまとめて結合する際には、join()メソッドを使うことも可能です。join()メソッドは、リストやタプルなどの反復可能なオブジェクト(配列)の中身を、指定した区切り文字で1つの文字列に結合するために使われます。

基本的な結合

# 文字列の結合
str1 = "Hello"
str2 = "World"
result = str1 + " " + str2
print(result)  # Hello World

上記の例では、+演算子を使って2つの文字列を結合しています。

join()メソッドによる結合

# join()メソッドによる文字列の結合
words = ["Python", "is", "fun"]
result = " ".join(words)
print(result)  # Python is fun

# カンマで結合する例
csv_line = ",".join(words)
print(csv_line)  # Python,is,fun

この例では、リスト内の文字列をjoin()メソッドを使って1つの文字列に結合しています。区切り文字.join(リスト)」という、直感とは少し逆の書き方(リストではなく区切り文字が主導になる形)をするのがPythonの特徴です。

文字列の分割

文字列をバラバラに分割するには、split()メソッドを使用します。split()メソッドは、指定された区切り文字で文字列を分割し、その結果を「リスト型」として返します。区切り文字を指定しない場合、デフォルトでは空白文字(スペースや改行、タブなど)が区切り文字として使われます。

基本的な分割

# split()メソッドによる文字列の分割
sentence = "Python is fun"
words = sentence.split()
print(words)  # ['Python', 'is', 'fun']

この例では、空白文字を区切りとして文字列を分割し、リストとして結果を得ています。連続した複数の空白も、まとめて1つの区切りとして綺麗に処理してくれます。

区切り文字を指定した分割

# 区切り文字を指定して文字列を分割
data = "apple,banana,cherry"
fruits = data.split(",")
print(fruits)  # ['apple', 'banana', 'cherry']

この例では、カンマ,を区切り文字として指定して、文字列を分割しています。Webからダウンロードしたデータやファイルから読み込んだデータを1項目ずつに分解する際に非常によく使われます。

追加解説:結合と分割の応用(データの書き換え)

split()join() を組み合わせることで、「文字列の中の特定の文字を一括で別の文字に置き換える」といった高度な文字列操作も可能になります。例えば、スラッシュ区切りの日付をハイフン区切りに直してみましょう。

date_str = "2026/06/24"

# 1. スラッシュで3つの要素に分割する
parts = date_str.split("/")  # ['2026', '06', '24']

# 2. ハイフンで結合し直す
new_date_str = "-".join(parts)
print(new_date_str)  # 2026-06-24

文字列操作のまとめ

以下は、文字列の結合と分割に関するポイントを表にまとめたものです。

操作 方法 特徴・用途
結合(+ 演算子) str1 + str2 数個の文字列をシンプルに繋ぎたいときに便利。
結合(join()メソッド) "区切り文字".join(リスト) リストに入った大量のデータを特定の記号で一気に繋ぐ。
分割(split()メソッド) 文字列.split("区切り文字") 1つの文章を、特定のルールで細かく分解してリストにする。

まとめ

文字列の結合と分割は、データを操作する上で頻繁に行われる基本的な処理です。+演算子やjoin()メソッドを使った結合、split()メソッドを使った分割の操作方法を理解することで、効率的に文字列データを扱うことができます。これらの操作は、日常的なプログラミングだけでなく、AIやデータ分析のデータ前処理の場面でも多く使用されるため、しっかりとマスターしておきましょう。