Python3の文字列関数の概要

提供:Dev Guides
移動先:案内検索

###序章

Pythonには、文字列データ型に関連付けられたいくつかの組み込み関数があります。 これらの関数を使用すると、文字列を簡単に変更および操作できます。 関数は、コードの要素に対して実行するアクションと考えることができます。 組み込み関数は、Pythonプログラミング言語で定義されており、すぐに使用できる関数です。

このチュートリアルでは、Python3で文字列を操作するために使用できるいくつかの異なる関数について説明します。

    1. 前提条件

Python 3をインストールし、コンピューターまたはサーバーにプログラミング環境をセットアップする必要があります。 プログラミング環境をセットアップしていない場合は、ローカルプログラミング環境またはサーバー上のプログラミング環境のインストールおよびセットアップガイドを参照して、オペレーティングに適したものにすることができます。システム(Ubuntu、CentOS、Debianなど)

    1. 文字列を大文字と小文字にする

関数str.upper()およびstr.lower()は、元の文字列のすべての文字が大文字または小文字に変換された文字列を返します。 文字列は不変のデータ型であるため、返される文字列は新しい文字列になります。 文字以外の文字列内の文字は変更されません。

文字列Sammy Sharkをすべて大文字に変換してみましょう。

情報:このチュートリアルのサンプルコードに従うには、python3コマンドを実行して、ローカルシステムでPythonインタラクティブシェルを開きます。 次に、>>>プロンプトの後に例を追加して、例をコピー、貼り付け、または編集できます。


ss = "Sammy Shark"
print(ss.upper())
OutputSAMMY SHARK

次に、文字列をすべて小文字に変換しましょう。

print(ss.lower())
Outputsammy shark

str.upper()およびstr.lower()関数を使用すると、大文字と小文字を一貫させることで、文字列の評価と比較が簡単になります。 そうすれば、ユーザーが自分の名前をすべて小文字で書き込んだ場合でも、たとえば、すべて大文字のバージョンと照合することで、その名前がデータベースにあるかどうかを判断できます。

    1. ブールメソッド

Pythonには、ブール値に評価される文字列メソッドがいくつかあります。 これらのメソッドは、たとえば、ユーザーが入力するフォームを作成するときに役立ちます。 郵便番号を要求する場合は数値文字列のみを受け入れますが、名前を要求する場合はアルファベット文字列のみを受け入れます。

ブール値を返す文字列メソッドはいくつかあります。

方法 True if
str.isalnum() 文字列は英数字のみで構成されます(記号は含まれません)
str.isalpha() 文字列は英字のみで構成されます(記号は含まれません)
str.islower() 文字列の英字はすべて小文字です
str.isnumeric() 文字列は数字のみで構成されます
str.isspace() 文字列は空白文字のみで構成されます
str.istitle() 文字列はタイトルケースです
str.isupper() 文字列の英字はすべて大文字です

これらの実際の動作をいくつか確認してみましょう。

number = "5"
letters = "abcdef"

print(number.isnumeric())
print(letters.isnumeric())
OutputTrue
False

文字列5str.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

文字が小文字、大文字、タイトルのいずれであるかを確認することで、データを適切に並べ替えることができます。また、必要に応じて文字列を確認して変更することで、収集したデータを標準化することができます。

ブール文字列メソッドは、ユーザーが入力したものが特定のパラメーターに適合するかどうかを確認する場合に役立ちます。

    1. 文字列の長さの決定

文字列関数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()関数によってカウントされることに注意してください。

    1. 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))

返される新しい文字列には、最初の文字列全体にスペースが追加されていることがわかります。

OutputS a m m y   h a s   a   b a l l o o n .

str.join()メソッドを使用して、元の文字列から反転した文字列を返すこともできます。

print("".join(reversed(balloon)))
Output.noollab a sah ymmaS

最初の文字列に別の文字列の一部を追加したくなかったので、間にスペースを入れずに引用符を接触させたままにしました。

str.join()メソッドは、文字列のリストを新しい単一の文字列に結合する場合にも役立ちます。

文字列のリストからコンマ区切りの文字列を作成しましょう。

print(",".join(["sharks", "crustaceans", "plankton"]))
Outputsharks,crustaceans,plankton

新しい文字列の文字列値の間にコンマとスペースを追加する場合は、コンマの後に空白を使用して式を書き換えることができます:", ".join(["sharks", "crustaceans", "plankton"])

文字列を結合できるのと同じように、文字列を分割することもできます。 これを行うには、str.split()メソッドを使用します。

print(balloon.split())
Output['Sammy', 'has', 'a', 'balloon.']

str.split()メソッドは、他のパラメーターが指定されていない場合、空白で区切られた文字列のリストを返します。

str.split()を使用して、元の文字列の特定の部分を削除することもできます。 たとえば、文字列aを文字列から削除してみましょう。

print(balloon.split("a"))
Output['S', 'mmy h', 's ', ' b', 'lloon.']

これで、文字aが削除され、文字aの各インスタンスがあった場所で文字列が分離され、空白が保持されます。

str.replace()メソッドは、元の文字列を取得して、置換された更新された文字列を返すことができます。

サミーが持っていた風船がなくなったとしましょう。 サミーにはこのバルーンがなくなったため、新しい文字列でサブ文字列"has"を元の文字列balloonから"had"に変更します。

print(balloon.replace("has","had"))

括弧内では、最初の部分文字列が置き換えられるものであり、2番目の部分文字列が最初の部分文字列を置き換えるものです。 出力は次のようになります。

OutputSammy had a balloon.

文字列メソッドstr.join()str.split()、およびstr.replace()を使用すると、Pythonで文字列を操作するためのより優れた制御が可能になります。

##結論

このチュートリアルでは、Pythonプログラムで文字列を操作および操作するために使用できる、文字列データ型の一般的な組み込みメソッドのいくつかについて説明しました。

他のデータ型の詳細については、「データ型の理解」をご覧ください。文字列の詳細については、「文字列の操作の概要」をご覧ください。また、文字列の外観の変更についても学ぶことができます。 「Python3でテキストをフォーマットする方法。」