前書き
Pythonには、string data typeに関連付けられたいくつかの組み込み関数があります。 これらの関数を使用すると、文字列を簡単に変更および操作できます。 関数は、コードの要素に対して実行するアクションであると考えることができます。 組み込み関数は、Pythonプログラミング言語で定義されており、すぐに使用できます。
このチュートリアルでは、Python 3で文字列を操作するために使用できるいくつかの異なる機能について説明します。
文字列を大文字と小文字にする
関数str.upper()
およびstr.lower()
は、元の文字列のすべての文字が大文字または小文字に変換された文字列を返します。 文字列は不変のデータ型なので、返される文字列は新しい文字列になります。 文字列内の文字以外の文字は変更されません。
文字列Sammy Shark
をすべて大文字に変換してみましょう。
ss = "Sammy Shark"
print(ss.upper())
OuputSAMMY SHARK
次に、文字列をすべて小文字に変換します。
print(ss.lower())
Ouputsammy shark
str.upper()
関数とstr.lower()
関数を使用すると、大文字と小文字を区別することで、文字列の評価と比較が簡単になります。 そのようにして、ユーザーがすべて小文字で名前を書き込んだ場合でも、たとえば、すべて大文字のバージョンと照合して名前がデータベースにあるかどうかを判断できます。
ブールメソッド
Pythonには、Boolean valueに評価される文字列メソッドがいくつかあります。 これらのメソッドは、たとえばユーザーが入力するフォームを作成するときに役立ちます。 郵便番号を要求する場合は、数値文字列のみを受け入れますが、名前を要求する場合は、アルファベット文字列のみを受け入れます。
ブール値を返す文字列メソッドがいくつかあります。
方法 | True if |
---|---|
|
文字列は英数字のみで構成されます(記号は含まれません) |
|
文字列は英字のみで構成されます(記号は含まれません) |
|
文字列の英字はすべて小文字です |
|
文字列は数字のみで構成されます |
|
文字列は空白文字のみで構成されます |
|
文字列はタイトルケースです |
|
文字列の英字はすべて大文字です |
動作中のこれらのいくつかを見てみましょう。
number = "5"
letters = "abcdef"
print(number.isnumeric())
print(letters.isnumeric())
OutputTrue
False
文字列5
でstr.isnumeric()
メソッドを使用すると、True
の値が返されますが、文字列abcdef
で同じメソッドを使用すると、False
の値が返されます。
同様に、文字列のアルファベット文字がタイトルケース、大文字、または小文字であるかどうかを照会できます。 いくつかの文字列を作成しましょう。
movie = "2001: A SAMMY ODYSSEY"
book = "A Thousand Splendid Sharks"
poem = "sammy lived in a pretty how town"
それでは、大文字と小文字をチェックするブールメソッドを試してみましょう。
print(movie.islower())
print(movie.isupper())
print(book.istitle())
print(book.isupper())
print(poem.istitle())
print(poem.islower())
これで、これらの小さなプログラムを実行して、出力を確認できます。
Output of movie stringFalse
True
Output of book stringTrue
False
Output of poem stringFalse
True
文字が小文字、大文字、またはタイトルケースであるかどうかを確認すると、データを適切に並べ替えるのに役立ち、必要に応じて文字列をチェックしてから変更することで収集したデータを標準化する機会を提供できます。
ブール文字列メソッドは、ユーザーが入力したものが特定のパラメーター内に収まるかどうかを確認する場合に役立ちます。
文字列の長さの決定
文字列関数len()
は、文字列の文字数を返します。 この方法は、たとえばパスワードの最小長または最大長を適用する必要がある場合や、略語として使用するために特定の制限内に収まるように大きな文字列を切り捨てる必要がある場合に役立ちます。
この方法を実証するために、文の長さの文字列の長さを見つけます。
open_source = "Sammy contributes to open source."
print(len(open_source))
Output33
変数open_source
を文字列"Sammy contributes to open source."
と等しく設定し、その変数をlen(open_source)
を使用してlen()
関数に渡しました。 次に、このメソッドをprint()
メソッドに渡して、プログラムからの出力を画面に表示できるようにしました。
文字、数字、空白文字、記号など、一重引用符または二重引用符で囲まれた文字は、len()
関数によってカウントされることに注意してください。
join()、split()、およびreplace()メソッド
str.join()
、str.split()
、およびstr.replace()
メソッドは、Pythonで文字列を操作するためのいくつかの追加の方法です。
str.join()
メソッドは、2つの文字列を連結しますが、1つの文字列を別の文字列に渡す方法で連結します。
文字列を作成しましょう:
balloon = "Sammy has a balloon."
それでは、str.join()
メソッドを使用して、その文字列に空白を追加しましょう。これは次のように行うことができます。
" ".join(balloon)
これを印刷すると:
print(" ".join(balloon))
返される新しい文字列では、最初の文字列全体にスペースが追加されていることがわかります。
OuputS a m m y h a s a b a l l o o n .
str.join()
メソッドを使用して、元の文字列から反転した文字列を返すこともできます。
print("".join(reversed(balloon)))
Ouput.noollab a sah ymmaS
別の文字列の一部を最初の文字列に追加したくなかったため、引用符はスペースなしで接触したままにしました。
str.join()
メソッドは、文字列のリストを新しい単一の文字列に結合する場合にも役立ちます。
文字列のリストからコンマ区切りの文字列を作成しましょう。
print(",".join(["sharks", "crustaceans", "plankton"]))
Ouputsharks,crustaceans,plankton
新しい文字列の文字列値の間にコンマとスペースを追加する場合は、コンマの後に空白を使用して式を書き換えることができます:", ".join(["sharks", "crustaceans", "plankton"])
。
文字列を結合できるように、文字列を分割することもできます。 これを行うには、str.split()
メソッドを使用します。
print(balloon.split())
Ouput['Sammy', 'has', 'a', 'balloon.']
str.split()
メソッドは、他のパラメーターが指定されていない場合、空白で区切られた文字列のリストを返します。
str.split()
を使用して、元の文字列の特定の部分を削除することもできます。 たとえば、文字列から文字a
を削除しましょう。
print(balloon.split("a"))
Ouput['S', 'mmy h', 's ', ' b', 'lloon.']
これで、文字a
が削除され、文字a
の各インスタンスがあった場所で文字列が分離され、空白が保持されました。
str.replace()
メソッドは、元の文字列を受け取り、何らかの置換を加えて更新された文字列を返すことができます。
サミーが持っていた風船がなくなったとしましょう。 サミーにはこのバルーンがなくなったため、新しい文字列で部分文字列"has"
を元の文字列balloon
から"had"
に変更します。
print(balloon.replace("has","had"))
括弧内では、最初の部分文字列は置き換えたいものであり、2番目の部分文字列は最初の部分文字列を置き換えるものです。 出力は次のようになります。
OuputSammy had a balloon.
文字列メソッドstr.join()
、str.split()
、およびstr.replace()
を使用すると、Pythonで文字列を操作するためのより優れた制御が提供されます。
結論
このチュートリアルでは、Pythonプログラムで文字列を操作したり操作したりするために使用できる、文字列データ型の一般的な組み込みメソッドをいくつか紹介しました。
「https://www.digitalocean.com/community/tutorials/understanding-data-types-in-python-3[Understanding Data Types]」で他のデータ型の詳細を学ぶことができます。「https: //www.digitalocean.com/community/tutorials/an-introduction-to-working-with-strings-in-python-3 [文字列の操作の概要]」を参照し、「https ://www.digitalocean.com/community/tutorials/how-to-format-text-in-python-3 [Python 3でテキストをフォーマットする方法]。