ラインスライス
Python では、文字列の一部 (部分文字列) を選択できます。これを行うには、スライスを取得する操作 (英語のスライシングから) を使用します
スライス操作の全体像は次のとおりです。
<プレ>
s[スタート:ストップ:ステップ]
このコマンドは、文字列 s から、インデックス start の文字から始まり、インデックス stop の文字まで (それは含まれません) のスライスを取得します。 step step (指定しない場合、ステップは 1)
括弧内は欠落している可能性があります ので。
例えば、
<プレ>
s1 = s[3:8]
手順 1 で 3 から 7 までの文字が文字列 s から文字列 s1 にコピーされることを意味します。
負のインデックスを指定することもできます。その場合、カウントは文字列の末尾からとなります。
<プレ>
s = "0123456789"
s1 = s[-7:-2] # s1="34567"
start が指定されていない場合、ゼロに等しいとみなされます (つまり、文字列の先頭から取得されます)。 stop が指定されていない場合、スライスは文字列の終わりまで取得されます。
<プレ>
s = "0123456789"
s1 = s[:4] # s1="0123"
s2 = s[-4:] # s2="6789"
プレ>
文字列を反転するのがいかに簡単かは次のとおりです。
<プレ>
s = "0123456789"
s1 = s[::-1] # s1="9876543210"
プレ>
文字列のすべての文字は -1 ずつ増分して反復されます。これは、文字が末尾から反復されることを意味します。開始インデックスと終了インデックスが指定されていないため、行全体が関係します。
|
削除して貼り付け
文字列の一部を削除するには、元の文字列の削除する部分の前後の部分を結合して新しい文字列を作成する必要があります。
<プレ>
s = "0123456789"
s1 = s[:3]+s[9:] # s1="0129"
プレ>
スライスと文字列連結を使用すると、文字列内に部分文字列を挿入できます。
<プレ>
s = "0123456789"
s1 = s[:3]+"ABC"+s[3:] # s1="012ABC3456789"
プレ>
|
文字列操作メソッド
Python には、文字列を操作するためのメソッド (すぐに使用できる関数) が多数あります。それらの多くはドット表記を使用して呼び出され、 メソッドと呼ばれます。文字列操作メソッドの完全なリストはオンラインで見つけることができます。
それらのいくつかを紹介しましょう。
s = "aAbBcC"
sUp = s.upper() # sUp = "AABBCC" - を翻訳するメソッド。
# 文字列の各文字を大文字にする
sLow = s. lower() # sLow = "aabbcc" - を翻訳するメソッド。
# 文字列の各文字を小文字にする
プレ>
ドットの左側にはメソッドが適用される文字列 (または引用符で囲まれた文字列自体) の名前があり、ドットの右側にはメソッドの名前が表示されます。メソッドは常に括弧で記述されます。必要に応じて、括弧内にパラメータを含めることができます。
以前は、データを特定の形式で画面に表示するときに文字列を操作するメソッド、format() メソッドをすでに使用していました。
a = 4
b = 5
print("{}+{}={}".format(a,b,a+b)) # 4+5=9
プレ>
もう 1 つの便利なメソッド isdigital() は、文字列のすべての文字が数字であるかどうかを確認するメソッドであり、ブール値 (True または False) を返します。
s = "ab1c"
print(s.isdigital()) #False
s = "123"
print(s.isdigital()) #True
プレ>
便利な strip() メソッドを使用すると、文字列の先頭と末尾のスペースを削除できます。
s = "アブ 1c "
print('s=', s.strip()) # s=ab 1c
プレ>
|
ライン内で検索
Python で文字列内を検索するには、find() メソッドを使用します。
これには 3 つの形式があり、文字列内で最初に出現した部分文字列のインデックスを返します。
1) find(str) - 部分文字列 str は文字列の先頭から末尾まで検索されます。
2) find(str, start) - start パラメータを使用して開始インデックスが設定され、そこから検索が実行されます。< br />
3) find(str, start, end) - end パラメータを使用すると、終了インデックスが設定され、その前に検索が実行されます。
部分文字列が見つからない場合、メソッドは -1 を返します。
ようこそ = 「こんにちは、世界!さよなら世界!」
インデックス = welcome.find("wor")
print(index) #6
# 10 番目から 15 番目のインデックスを検索します
インデックス = welcome.find("wor", 10, 15)
print(インデックス) # -1
プレ>
文字列の末尾から検索できます。このために、rfind() メソッド (英語の reverse find に由来) が使用されます。このメソッドは、文字列内で最後に出現した部分文字列のインデックスを返します。
注: データ メソッド出現回数は検索せず、文字列内にそのような部分文字列が存在するかどうかだけを判断します。
|
文字列内の部分文字列を置換する
Python で、文字列内の 1 つの部分文字列を別の部分文字列に置き換えるには、replace() メソッドを使用します。
replace(old, new) - 部分文字列 old は new に置き換えられます。
replace(old, new, num) - パラメータ num は、new old の出現回数を示します。 > >.
例
電話 = "+1-234-567-89-10"
# ハイフンはスペースに変更されます
編集済み_電話 = 電話.replace("-", "")
print(edited_phone) # +1 234 567 89 10
# 個のハイフンが削除されます
編集済み_電話 = 電話.replace("-", "")
print(編集済み_電話) # +12345678910
# 最初のハイフンのみが変更されます
編集済み_電話 = 電話.replace("-", "", 1)
print(編集済み電話) # +1234-567-89-10
プレ>
|