python文字列の詳細な説明方法:テキストデータの効率的な処理
Pythonは、文字列が不変であるため、元の文字列を変更せずにフォーマット、検索、変更などの文字列オブジェクトを処理するためのリッチな文字列メソッドを提供します。この記事では、一般的に使用されるPython文字列メソッドをいくつか紹介し、例と組み合わせて説明します。
文字列の特性
スタンドは、プログラミング言語の不可欠な部分であり、Pythonで最も一般的に使用されるデータ型の1つです。それらは、単一、二重、またはトリプル引用符で囲むことができる不変のユニコード文字のシーケンスです。不変性とは、文字列が作成されると、変更操作が新しい文字列オブジェクトを作成できないことを意味します。
pythonの文字列の例:
greeting = "Hello, World!"
注:Javaやその他のプログラミング言語とは異なり、Pythonは文字データ型をサポートしていません。したがって、「C」などの引用符で囲まれた単一の文字は、まだ文字列です。
文字列メソッドの概要概要< 文字列はPythonのシーケンスとして扱われるため、結合、スライスなどのすべてのシーケンス操作を実装します。
シーケンス操作に加えて、文字列オブジェクトに関連する他の多くの追加方法があります。これらの方法は、文字列のフォーマット、別の文字列のサブストリングの検索、トリムスペース、特定の文字列の特定のチェックを実行するために使用できます。
>>> word = 'golden' >>> len(word) 6 >>> word + 'age' 'goldenage' >>> 'la' * 3 'lalala' >>>
以下は、例を伴ういくつかのPython文字列メソッドの詳細な紹介です。
文字列の変更されたコピーを返すための
メソッド<
例:
str.capitalize()
>>> "i Enjoy traveling. Do you?".capitalize() 'I enjoy traveling. do you?' >>>
で満たされた中央の文字列を返します。 が文字列長以下の場合、元の文字列が返されます。 str.center(width[, fillchar])
例:fillchar
width
width
>>> sentence = 'i Enjoy traveling. Do you?' >>> len(sentence) 26 >>> sentence.center(31) ' i Enjoy traveling. Do you? ' >>> sentence.center(30) ' i Enjoy traveling. Do you? '
デフォルトでは、関数に渡された文字列はUTF-8としてエンコードされ、エラーが発生した場合、例外が発生します。 str.encode(encoding='utf-8', errors='strict')
キーワードパラメーターは、例外をスローするなど、エラーを処理する方法を指定します。他にもいくつかのコーディングオプションがあります。
greeting = "Hello, World!"
* `str.format(args、 kwargs)`:各代替フィールドが対応するパラメーターの文字列値に置き換えられる文字列のコピーを返します。
例:
>>> word = 'golden' >>> len(word) 6 >>> word + 'age' 'goldenage' >>> 'la' * 3 'lalala' >>>
str.lower()
:文字列内のすべての大文字を小文字に変換します。
例:
>>> "i Enjoy traveling. Do you?".capitalize() 'I enjoy traveling. do you?' >>>
str.removeprefix(prefix, /)
:文字列の先頭に指定されたプレフィックスを削除し、プレフィックスが見つからない場合は元の文字列を返します。
例:
>>> sentence = 'i Enjoy traveling. Do you?' >>> len(sentence) 26 >>> sentence.center(31) ' i Enjoy traveling. Do you? ' >>> sentence.center(30) ' i Enjoy traveling. Do you? '
str.removesuffix(suffix, /)
:文字列の最後に指定された接尾辞を削除し、接尾辞が見つからない場合は元の文字列を返します。
例:
>>> sentence = "i Enjoy traveling. Do you, 山本さん?" >>> sentence.encode() b'i Enjoy traveling. Do you, \xe5\xb1\xb1\xe6\x9c\xac\xe3\x81\x95\xe3\x82\x93?' >>> sentence.encode(encoding='ascii') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 27-30: ordinal not in range(128) >>> sentence.encode(encoding='ascii', errors='replace') b'i Enjoy traveling. Do you, ?????'
str.replace(old, new[, count])
:文字列に表示されているすべてのサブストリングをold
に置き換えます。 new
パラメーターが提供されている場合、count
発生サブストリングのみが交換されます。 count
>>> "I bought {0} apples and the cost {1:.2f} Ghana cedis.".format(2, 18.70) 'I bought 2 apples and the cost 18.70 Ghana cedis.' >>> "My name is {first_name}, and I'm a {profession}.".format(first_name='Ben', profession='doctor') "My name is Ben, and I'm a doctor." >>>
str.strip([chars])
:元の文字列の最初と端で指定された文字が削除された新しい文字列を返します。 パラメーターが提供されていない場合、デフォルトでスペースが削除されます。 chars
>>> 'i Enjoy traveling. Do you?'.lower() 'i enjoy traveling. do you?' >>>
str.title()
:文字列内の各単語の最初の文字を大文字にし、残りの文字を小文字にします。
>>> 'i Enjoy traveling. Do you?'.removeprefix('i') ' Enjoy traveling. Do you?' >>>
str.upper()
:文字列内のすべての文字を大文字に変換します。
>>> 'i Enjoy traveling. Do you?'.removesuffix('Do you?') 'i Enjoy traveling. ' >>>
str.join(iterable)
:反復可能なオブジェクトの文字列を新しい文字列に連結します。反復可能なオブジェクトに非弦の値が含まれている場合、例外がスローされます。
TypeError
例:
>>> 'i Enjoy traveling. Do you?'.replace('Enjoy','dislike') 'i dislike traveling. Do you?' >>> 'Things fall apart'.replace('a','e',1) 'Things fell apart' >>>
:指定されたセパレーターに従って文字列をリストに分割します。 str.split(sep=None, maxsplit=-1)
例:
>>> word1 = ' whitespace '.strip() >>> word1 'whitespace' >>> word2 = 'exercise'.strip('e') >>> word2 'xercis' >>> word3 = 'chimpanze'.strip('acepnz') >>> word3 'him' >>>
:string str.count(sub[, start[, end]])
が文字列に表示される回数を返します。
sub
例:
>>> 'i Enjoy traveling. Do you?'.title() 'I Enjoy Traveling. Do You?' >>>
:弦で初めてサブストリングが表示される場所のインデックスを返します。サブストリングが見つからない場合は、-1を返します。 str.find(sub[, start[, end]])
例:sub
>>> 'i Enjoy traveling. Do you?'.upper() 'I ENJOY TRAVELING. DO YOU?' >>>
:弦で初めてサブストリングが表示される場所のインデックスを返します。サブストリングが見つからない場合、例外がスローされます。 str.index(sub[, start[, end]])
例:sub
ValueError
ブール値を返すための方法
>>> words = ["Accra", "is", "a", "beautiful", "city"] >>> ' '.join(words) 'Accra is a beautiful city' >>> names = ['Abe', 'Fred', 'Bryan'] >>> '-'.join(names) 'Abe-Fred-Bryan' >>>
str.endswith(suffix[, start[, end]])
:suffix
を返します。 True
False
例:
greeting = "Hello, World!"
:文字列には英数字が含まれていて、少なくとも1つの文字が戻っている場合。 str.isalnum()
例:True
False
>>> word = 'golden' >>> len(word) 6 >>> word + 'age' 'goldenage' >>> 'la' * 3 'lalala' >>>
を返します。
str.isalpha()
例:
True
False
>>> "i Enjoy traveling. Do you?".capitalize() 'I enjoy traveling. do you?' >>>
例:
str.isascii()
True
False
:文字列にすべての小数文字が含まれていて、それ以外の場合は
>>> sentence = 'i Enjoy traveling. Do you?' >>> len(sentence) 26 >>> sentence.center(31) ' i Enjoy traveling. Do you? ' >>> sentence.center(30) ' i Enjoy traveling. Do you? '
str.isdecimal()
True
False
:文字列にすべての数字が含まれていて、それ以外の場合は
を返します。>>> sentence = "i Enjoy traveling. Do you, 山本さん?" >>> sentence.encode() b'i Enjoy traveling. Do you, \xe5\xb1\xb1\xe6\x9c\xac\xe3\x81\x95\xe3\x82\x93?' >>> sentence.encode(encoding='ascii') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 27-30: ordinal not in range(128) >>> sentence.encode(encoding='ascii', errors='replace') b'i Enjoy traveling. Do you, ?????'
str.isnumeric()
True
False
を返します。
>>> "I bought {0} apples and the cost {1:.2f} Ghana cedis.".format(2, 18.70) 'I bought 2 apples and the cost 18.70 Ghana cedis.' >>> "My name is {first_name}, and I'm a {profession}.".format(first_name='Ben', profession='doctor') "My name is Ben, and I'm a doctor." >>>
str.islower()
True
False
:文字列内のすべての文字が大文字である場合、
例:
>>> 'i Enjoy traveling. Do you?'.lower() 'i enjoy traveling. do you?' >>>
str.isupper()
True
:文字列が指定されている場合は、False
を返します。
例:
>>> 'i Enjoy traveling. Do you?'.removeprefix('i') ' Enjoy traveling. Do you?' >>>
byte method(bytes.decode())str.startswith(prefix[, start[, end]])
prefix
True
False
>>> 'i Enjoy traveling. Do you?'.removesuffix('Do you?') 'i Enjoy traveling. ' >>>
、、およびは、例外の処理方法を指定するエラーキーワードパラメーターです。
bytes.decode(encoding='utf-8', errors='strict')
UnicodeDecodeError
Python Stringメソッドの習熟度は、テキストデータの効率的な処理に不可欠です。 Pythonは、文字列操作を簡単に実行し、プログラミング効率を向上させるための豊富なツールを提供します。 strict
ignore
replace
チャレンジ
次のコードの出力を予測してみてください。
>>> 'i Enjoy traveling. Do you?'.replace('Enjoy','dislike') 'i dislike traveling. Do you?' >>> 'Things fall apart'.replace('a','e',1) 'Things fell apart' >>>
(長すぎて擬似オリジナルの目標と一致しないため、FAQの部分は省略されています。必要に応じて、FAQコンテンツは他の場所に追加できます。
以上が例を備えたPython文字列メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。