コース一覧
/
Python 応用
/

文字列の応用

文字列メソッドを使おう

文字列には、分割・結合・空白除去・置換・大文字小文字変換など、さまざまな操作を行うメソッドが用意されています。このレッスンでは、データ処理やテキスト操作でよく使われる文字列メソッドを学びます。

.split() で文字列を分割する

.split() メソッドを使うと、文字列を指定した区切り文字で分割し、リストにすることができます。

text = "apple,banana,orange" fruits = text.split(",") print(fruits) # => ['apple', 'banana', 'orange']

引数を省略すると、空白(スペース、タブ、改行)で分割されます。

text = "Python is awesome" words = text.split() print(words) # => ['Python', 'is', 'awesome']

連続した空白も1つの区切りとして扱われます。

text = "Python is awesome" words = text.split() print(words) # => ['Python', 'is', 'awesome']

.split() はデータの解析でよく使われます。例えば、CSVのような区切り文字付きのデータを処理するときに便利です。

.join() でリストを結合する

.join() メソッドを使うと、リストの要素を指定した区切り文字で結合して1つの文字列にできます。

fruits = ["apple", "banana", "orange"] text = ",".join(fruits) print(text) # => apple,banana,orange

.join() は区切り文字の側から呼び出す点に注意してください。空文字列で結合すると、要素がそのまま連結されます。

chars = ["P", "y", "t", "h", "o", "n"] word = "".join(chars) print(word) # => Python

改行文字を使えば、各要素を別の行にできます。

lines = ["1行目", "2行目", "3行目"] text = "\n".join(lines) print(text) # => 1行目 # => 2行目 # => 3行目

.strip() で空白を除去する

.strip() メソッドを使うと、文字列の先頭と末尾にある空白を除去できます。

text = " Hello, World! " print(text.strip()) # => Hello, World!

先頭だけ除去したい場合は .lstrip()、末尾だけ除去したい場合は .rstrip() を使います。

text = " Hello, World! " print(text.lstrip()) # => Hello, World! (末尾の空白は残る) print(text.rstrip()) # => Hello, World!(先頭の空白は残る)

.strip() はユーザー入力の処理でよく使われます。入力の前後に余分な空白が含まれていることは多いため、これを取り除くことで正確なデータ処理ができます。

.replace() で文字列を置換する

.replace() メソッドを使うと、文字列内の一部を別の文字列に置き換えることができます。

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

一致するすべての箇所が置き換えられます。

text = "apple, apple, apple" new_text = text.replace("apple", "orange") print(new_text) # => orange, orange, orange

空文字列に置き換えることで、特定の文字を削除することもできます。

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

.upper() と .lower() で大文字・小文字を変換する

.upper() メソッドを使うと、文字列内のすべての小文字を大文字に変換できます。

text = "hello" print(text.upper()) # => HELLO

.lower() メソッドを使うと、すべての大文字を小文字に変換できます。

text = "HELLO" print(text.lower()) # => hello

大文字小文字を区別しない比較をするときによく使われます。

user_input = "YES" if user_input.lower() == "yes": print("承認されました") # => 承認されました

メソッドチェーン

文字列メソッドは新しい文字列を返すため、メソッドを連続して呼び出すことができます。これをメソッドチェーンと呼びます。

text = " Hello, World! " result = text.strip().lower().replace(",", "") print(result) # => hello world!

この例では、まず前後の空白を除去し、次に小文字に変換し、最後にカンマを削除しています。

まとめ

  • .split(区切り文字) で文字列をリストに分割できる(省略時は空白で分割)
  • .join(リスト) でリストの要素を結合して文字列にできる
  • .strip() で先頭と末尾の空白を除去できる
  • .lstrip() で先頭のみ、.rstrip() で末尾のみの空白を除去できる
  • .replace(検索文字列, 置換文字列) で文字列を置換できる
  • .upper() で大文字に、.lower() で小文字に変換できる
  • 文字列メソッドは新しい文字列を返すため、メソッドチェーンで連続して呼び出せる