【初心者向け】【とにかく大量】Pythonの文字列操作で使える標準メソッドたち
この記事の目次
- 1. len()
- 2. str.upper()
- 3. str.lower()
- 4. str.capitalize()
- 5. str.title()
- 6. str.strip()
- 7. str.replace(old, new)
- 8. str.split(separator)
- 9. str.join(iterable)
- 10. str.find(substring)
- 11. str.count(substring)
- 12. str.startswith(prefix)
- 13. str.endswith(suffix)
- 14. str.isdigit()
- 15. str.isalpha()
- 16. str.islower()
- 17. str.isupper()
- 18. str.isalnum()
- 19. str.isspace()
- 20. str.swapcase()
- 21. str.zfill(width)
- 22. str.ljust(width, fillchar)
- 23. str.rjust(width, fillchar)
- 24. str.center(width, fillchar)
- 25. str.partition(separator)
- 26. str.rpartition(separator)
- 27. str.splitlines(keepends=False)
- 28. str.rsplit(separator, maxsplit)
- 29. str.lstrip(chars)
- 30. str.rstrip(chars)
- 31. str.format(*args, **kwargs)
- 32. str.format_map(mapping)
- 33. str.casefold()
- 34. str.encode(encoding, errors)
- 35. str.expandtabs(tabsize)
はじめに
皆さん、Pythonは使っていますか?私は業務でCSVファイルの文字列操作を行うことが多く、その際にPythonを活用しています。その過程で、Pythonには非常に多くの便利な文字列操作の標準メソッドがあることに気付きました。今回は、その中でも特に役立つメソッドを厳選してご紹介します。すべてのメソッドは、Python 3.6以降で利用可能ですので、ぜひ試してみてください!
1. len()
文字列の長さを取得する関数。
s = "hello" print(len(s))
=> 出力:5
2. str.upper()
文字列をすべて大文字に変換するメソッド。
s = "hello" print(s.upper())
=> 出力:”HELLO”
3. str.lower()
文字列をすべて小文字に変換するメソッド。
s = "HELLO" print(s.lower())
=> 出力:”hello”
4. str.capitalize()
最初の文字を大文字にし、他は小文字にするメソッド。
s = "hello world" print(s.capitalize())
=> 出力:”Hello world”
5. str.title()
各単語の最初の文字を大文字に変換するメソッド。
s = "hello world" print(s.title())
=> 出力:”Hello World”
6. str.strip()
文字列の前後の空白や特定の文字を削除するメソッド。
s = " hello " print(s.strip())
=> 出力:”hello”
7. str.replace(old, new)
文字列内の特定の部分を別の文字列に置き換えるメソッド。
s = "hello world" print(s.replace("world", "Python"))
=> 出力:”hello Python”
8. str.split(separator)
文字列を特定の区切り文字で分割し、リストを返すメソッド。
s = "hello,world,Python" print(s.split(","))
=> 出力:[“hello”, “world”, “Python”]
9. str.join(iterable)
リストなどの要素を特定の文字列で連結して1つの文字列にするメソッド。
words = ["hello", "world", "Python"] print(",".join(words))
=> 出力:”hello,world,Python”
10. str.find(substring)
特定の部分文字列の最初の出現位置を返すメソッド。見つからない場合は -1 を返す。
s = "hello world" print(s.find("world"))
=> 出力:6
11. str.count(substring)
文字列中の特定の文字列の出現回数を数えるメソッド。例の場合、”l”の出現回数を数えている。
s = "hello world" print(s.count("l"))
=> 出力:3
12. str.startswith(prefix)
文字列が特定の接頭語で始まるかどうかをチェックするメソッド。
s = "hello world" print(s.startswith("hello"))
=> 出力:True
13. str.endswith(suffix)
文字列が特定の接尾語で終わるかどうかをチェックするメソッド。
s = "hello world" print(s.endswith("world"))
=> 出力:True
14. str.isdigit()
文字列が数字で構成されているかを確認するメソッド。
s = "12345" print(s.isdigit())
=> 出力:True
15. str.isalpha()
文字列がアルファベットのみで構成されているかを確認するメソッド。
s = "hello" print(s.isalpha())
=> 出力:True
16. str.islower()
文字列がすべて小文字で構成されているかどうかを確認するメソッド。
s = "hello" print(s.islower())
=> 出力:True
17. str.isupper()
文字列がすべて大文字で構成されているかどうかを確認するメソッド。
s = "HELLO" print(s.isupper())
=> 出力:True
18. str.isalnum()
文字列が英数字(アルファベットと数字)のみで構成されているかを確認するメソッド。
s = "hello123" print(s.isalnum())
=> 出力:True
19. str.isspace()
文字列がすべて空白文字で構成されているかを確認するメソッド。
s = " " print(s.isspace())
=> 出力:True
20. str.swapcase()
大文字と小文字を入れ替えるメソッド。
s = "Hello World" print(s.swapcase())
=> 出力:”hELLO wORLD”
21. str.zfill(width)
指定した幅になるように、文字列の左側をゼロで埋めるメソッド。
s = "42" print(s.zfill(5))
=> 出力:”00042″
22. str.ljust(width, fillchar)
指定した幅に合わせて左寄せし、残りの部分を指定した文字で埋めるメソッド。
s = "hello" print(s.ljust(10, '-'))
=> 出力:”hello—–”
23. str.rjust(width, fillchar)
指定した幅に合わせて右寄せし、残りの部分を指定した文字で埋めるメソッド。
s = "hello" print(s.rjust(10, '-'))
=> 出力:”—–hello”
24. str.center(width, fillchar)
指定した幅に合わせて中央寄せし、残りの部分を指定した文字で埋めるメソッド。
s = "hello" print(s.center(10, '-'))
=> 出力:”–hello—”
25. str.partition(separator)
指定した区切り文字を使って、3つの要素(区切り文字の前、区切り文字自体、区切り文字の後)に分割するメソッド。
s = "hello world" print(s.partition(" "))
=> 出力:(“hello”, ” “, “world”)
26. str.rpartition(separator)
partition() と似ているが、最後に出現する区切り文字で分割するメソッド。
s = "hello world Python" print(s.rpartition(" "))
=> 出力:(“hello world”, ” “, “Python”)
27. str.splitlines(keepends=False)
改行文字で文字列を分割するメソッド。keepends=True にすると、改行文字を含めて分割される。
s = "hello\nworld\nPython" print(s.splitlines())
=> 出力:[‘hello’, ‘world’, ‘Python’]
28. str.rsplit(separator, maxsplit)
split() と似ているが、右側から指定した区切り文字で分割するメソッド。
s = "apple,banana,orange" print(s.rsplit(",", 1))
=> 出力:[‘apple,banana’, ‘orange’]
29. str.lstrip(chars)
文字列の左側から特定の文字(またはデフォルトでは空白)を削除するメソッド。
s = " hello" print(s.lstrip())
=> 出力:”hello”
30. str.rstrip(chars)
文字列の右側から特定の文字(またはデフォルトでは空白)を削除するメソッド。
s = "hello " print(s.rstrip())
=> 出力:”hello”
31. str.format(*args, **kwargs)
指定した値をフォーマットして文字列に埋め込むメソッド。
s = "Hello, {}" print(s.format("Python"))
=> 出力:”Hello, Python”
32. str.format_map(mapping)
辞書型のマッピングを使用してフォーマットするメソッド。
s = "Name: {name}, Age: {age}" print(s.format_map({'name': 'Alice', 'age': 30}))
=> 出力:”Name: Alice, Age: 30″
33. str.casefold()
小文字に変換するが、lower() よりも広範な変換を行うメソッド。国際化対応での使用が推奨される。
s = "ß" print(s.casefold())
=> 出力:”ss”
34. str.encode(encoding, errors)
指定したエンコーディングに基づいて、文字列をバイト列にエンコードするメソッド。
s = "hello" print(s.encode('utf-8'))
=> 出力:b’hello’
35. str.expandtabs(tabsize)
タブ文字(\t)を指定した幅のスペースに展開するメソッド。
s = "hello\tworld" print(s.expandtabs(4))
=> 出力:”hello world”
さいごに
今回ご紹介したPythonの文字列操作メソッドを駆使すれば、より効率的にデータ処理や文字列操作を行うことができます!Pythonの豊富な標準機能を活用して、日々の作業をよりスムーズにしていきましょう!
それでは良いエンジニアライフを!
カテゴリー: