Python 文字列: 置換、結合、分割、 Reverse

⚡ スマートサマリー

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

  • 🧵 オブジェクトとしての文字列: Python すべての文字列をオブジェクトとして扱うため、メソッドは文字列変数に直接アタッチされます。
  • 🔤 大文字小文字変換: upper()、lower()、capitalize() は、元の文字列を変更せずに文字の大文字/小文字を整形します。
  • 🔗 結合と分割: join() は文字を区切り文字で結合し、split() はテキストを部分文字列のリストに分割します。
  • 🔒 不変性: replace() は新しい文字列を返します。 Python 弦はそのままでは変更できません。
  • 🤖 AI支援: AIコーディングアシスタントは文字列メソッドを生成・説明することで、テキスト処理や自然言語処理の前処理作業を高速化する。

Python 文字列置換、結合、分割 Reverse

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 文字列分割()

よくあるご質問

F文字列は、fで始まるリテラルで、波括弧の中に変数と式を埋め込みます。 Python 3.6 これらは、パーセント演算子やformat()メソッドよりも高速で読みやすい。

先頭と末尾の空白文字を削除するには strip() 関数を、左側の空白文字を削除するには lstrip() 関数を、右側の空白文字を削除するには rstrip() 関数を使用します。strip('xy') のように文字を渡すと、空白文字ではなく指定された文字が削除されます。

find() メソッドは、部分文字列が最初に出現する位置のインデックスを返します。見つからない場合は -1 を返します。index() メソッドも同様に動作しますが、部分文字列が見つからない場合は ValueError を発生させます。

count() メソッドは、部分文字列が何回出現するかを返します。たとえば、「guru99 guru99」.count('guru99') は 2 を返します。また、スライス内でカウントするために、オプションで開始インデックスと終了インデックスを渡すこともできます。

startswith() と endswith() を使用してください。これらは True または False を返します。どちらもタプルを受け入れるため、text.startswith(('http', 'https')) は複数のプレフィックスを一度にテストします。これらのチェックは大文字と小文字を区別するため、lower() で最初に正規化してください。

== 演算子は文字列値を比較し、文字が一致する場合に True を返します。is 演算子は同一性を比較し、2 つの名前がメモリ内の同じオブジェクトを指しているかどうかを確認します。日常的なテキスト比較には、常に == を使用してください。

AIコーディングアシスタントは、平易な言葉によるプロンプトから文字列処理コードを生成し、馴染みのないメソッドを説明し、より簡潔な代替案を提案します。機械学習や自然言語処理では、split()、lower()、replace()などの操作によって、生のテキストがモデルに入力される前に正規化されます。

はい。GitHub Copilotは、目的を説明するコメントからreplace()、join()、split()などのメソッドを自動補完します。Agentic AIツールはさらに進んで、スクリプト全体をリファクタリングします。ping join() または f 文字列用のループを作成し、その後テストを実行します。