Python 文字列: 置換、結合、分割、 Reverse
⚡ スマートサマリー
Python 文字列は、テキスト処理のための多くの組み込みメソッドを備えた、変更不可能な文字のシーケンスです。以下の例では、実行可能なコードを使用して、スライス、文字列演算子、replace()、upper()、lower()、join()、反転、split() などの操作方法を示します。

In Pythonすべてはオブジェクトであり、文字列もオブジェクトです。 Python 文字列は、文字を二重引用符で囲むだけで簡単に作成できます。
具体的な例を挙げますと、以下の通りです。
変数 = "こんにちは世界!"
文字列内の値へのアクセス
Python 文字タイプをサポートしていませんこれらは長さ1の文字列として扱われ、部分文字列としてもみなされます。
部分文字列を取得するには、インデックスまたはインデックスとともに角括弧を使用してスライスします。
var1 = "Guru99!"
var2 = "Software Testing"
print ("var1[0]:",var1[0])
print ("var2[1:5]:",var2[1:5])
出力:
var1[0]: G var2[1:5]: oftw
さまざまな文字列 Operaトー
文字列演算子にはさまざまな種類があり、異なる文字列を連結するなど、さまざまな方法で使用できます。
a=guru、b=99の場合、a+b=“guru99”となります。同様に、a*2を使用すると、“GuruGuru同様に、文字列内で他の演算子を使用することもできます。
| Operator | 詳細説明 | 例: |
|---|---|---|
| [] | スライス – 指定されたインデックスから文字を取得します | a[1]は単語から「u」を与えます Guru そのため(0=G、1=u、2=r、3=u)
x="Guru" print (x[1]) |
| [ : ] | 範囲スライス – 指定された範囲の文字を取得します | x [1:3] 単語から「ur」が得られます Guru0 は G として考慮されないことに注意してください。その後の単語は ur として考慮されます。
x="Guru" print (x[1:3]) |
| in | メンバーシップ – 指定された文字列に文字が存在する場合にtrueを返します。 | u は単語に存在します Guru したがって、1(真)が得られます。
x="Guru"
print ("u" in x)
|
| ありませんで | メンバーシップ – 指定された文字列に文字が存在しない場合は true を返します | 単語にlは存在しません Guru したがって、1が得られます
x="Guru"
print ("l" not in x)
|
| R/R | 生の文字列はエスケープ文字の実際の意味を抑制します。 | R'\n' を印刷すると \n を印刷し、R'/n' を印刷すると \n |
| % – 文字列フォーマットに使用されます | %r – オブジェクトの正規文字列表現(repr(o))を挿入します。 %s – オブジェクトの表示文字列表現(str(o))を挿入します。 %d – 数値を表示用にフォーマットします。 | このコードの出力は「guru 99」になります。
name = 'guru'
number = 99
print ('%s %d' % (name,number))
|
| + | 2つの文字列を連結します | 文字列を連結して結果を返します
x="Guru" y="99" print (x+y) |
| * | 繰り返す | 文字を XNUMX 回出力します。
x="Guru" y="99" print (x*2) |
さらにいくつかの例
更新できます Python 変数に別の文字列を再代入することで、文字列を変更できます。新しい値は、以前の値に関連付けられることも、まったく異なる文字列に関連付けられることもあります。
x = "Hello World!" print(x[:6]) print(x[0:6] + "Guru99")
出力:
Hello Hello Guru99
お願い: – スライス [:6] または [0:6] は同じ効果があります。
Python 文字列replace()メソッド
replace() メソッドは、元の文字列の値が新しい値に置き換えられた文字列のコピーを返します。
oldstring = 'I like Guru99'
newstring = oldstring.replace('like', 'love')
print(newstring)
出力:
I love Guru99
大文字と小文字の文字列を変更する
In Python文字列を大文字または小文字に変更することもできます。
string="python at guru99" print(string.upper())
出力:
PYTHON AT GURU99
同様に、capitalize() などの他の関数も使用できます。
string="python at guru99" print(string.capitalize())
出力:
Python at guru99
文字列を小文字に変換することもできます。
string="PYTHON AT GURU99" print(string.lower())
出力:
python at guru99
文字列の「結合」関数を使用する
join() 関数は、文字列を連結するより柔軟な方法です。join() 関数を使用すると、任意の文字を文字列に追加できます。
たとえば、文字列「Python」の場合、以下のコードを使用できます。
print(":".join("Python"))
出力:
P:y:t:h:o:n
Reversing文字列
reversed() 関数を使用すると、文字列を反転できます。たとえば、文字列「12345」がある場合、以下に示すように reversed() 関数のコードを適用します。
string="12345"
print(''.join(reversed(string)))
出力:
54321
文字列の分割
文字列の分割は、 Python文字列「guru99 career guru99」で見てみましょう。まず、word.split コマンドを使用して文字列を分割し、結果を取得します。
word="guru99 career guru99"
print(word.split(' '))
出力:
['guru99', 'career', 'guru99']
これをよりよく理解するために、split のもう 1 つの例を見てみましょう。スペース (' ') の代わりに ('r') を使用すると、文字列内で 'r' が含まれている箇所で文字列が分割されます。
word="guru99 career guru99"
print(word.split('r'))
出力:
['gu', 'u99 ca', 'ee', ' gu', 'u99']
重要な注意: In Python文字列は不変です。
次のコードについて考えてみます。
x = "Guru99"
x.replace("Guru99","Python")
print(x)
出力:
Guru99
それでも戻ってくる Guru99. これは、x.replace(“Guru99”“Python)が返されます 置換されたXのコピー.
変更内容を確認するには、以下のコードを使用する必要があります。
x = "Guru99"
x = x.replace("Guru99","Python")
print(x)
出力:
Python
上記のコードは Python 3つの例。 Python 2. 以下のコードを検討してください。
Python 2例
#Accessing Values in Strings
var1 = "Guru99!"
var2 = "Software Testing"
print "var1[0]:",var1[0]
print "var2[1:5]:",var2[1:5]
#Some more examples
x = "Hello World!"
print x[:6]
print x[0:6] + "Guru99"
#Python String replace() Method
oldstring = 'I like Guru99'
newstring = oldstring.replace('like', 'love')
print newstring
#Changing upper and lower case strings
string="python at guru99"
print string.upper()
string="python at guru99"
print string.capitalize()
string="PYTHON AT GURU99"
print string.lower()
#Using "join" function for the string
print":".join("Python")
#Reversing String
string="12345"
print''.join(reversed(string))
#Split Strings
word="guru99 career guru99"
print word.split(' ')
word="guru99 career guru99"
print word.split('r')
x = "Guru99"
x.replace("Guru99","Python")
print x
x = "Guru99"
x = x.replace("Guru99","Python")
print x
出力:
var1[0]: G var2[1:5]: oftw Hello Hello Guru99 I love Guru99 PYTHON AT GURU99 Python at guru99 python at guru99 P:y:t:h:o:n 54321 ['guru99', 'career', 'guru99'] ['gu', 'u99 ca', 'ee', ' gu', 'u99'] Guru99 Python
Python 文字列の書式設定に面倒な %d などを使用する必要がなくなる .format() 関数が導入されました。
»詳細 Python 文字列分割()
