Python で文字列から引用符を削除するにはいくつかの方法があります。すべての引用符を削除する必要がある場合もあれば、文字列を囲む引用符だけを削除する必要がある場合もあります。また、一重引用符や二重引用符を削除する必要がある場合もあります。
この記事では、引用符を削除する方法について説明します。
この短い記事では、Pythonで文字列から引用符を削除するために使用できるメソッドの包括的なリストを作成しました。どの方法を使うかはあなた次第です。ここで挙げた解決策は、ベストからワーストの順に並んでいるわけではないことに注意してください。それぞれの解決策は、特定のケースであなたのニーズを満たす限り、良いものです。
Pythonで文字列から引用符をすべて削除する方法
まず最初に、文字列からすべての引用符を削除する方法について見てみましょう。このセクションで紹介する解決策は、シングルクォートとダブルクォートの両方で動作するように変更することができます。しかし、この記事の目的のために、3つのダブルクォーテーションがある文字列の例があるとします。
example_str = '"This is a string" with quotes"'
このセクションでは、example_str
からすべての"
を削除する方法について説明します。
str.replace()
最初に説明する方法は、example_str
に対して str.replace()
メソッドを使用する方法です。このメソッドは2つの引数、つまり、置き換えたい文字列と置き換え文字列を受け取ります。この例では、ダブルクォーテーション("
)を空の文字列に置き換えます。
new_str = example_str.replace('"', '')
print(new_str) # This is a string without quotes
このように str.replace()
を使うと、example_str
からダブルクォーテーションをすべて削除することができます。
正規表現
この方法では、文字列からすべての引用符を削除するために正規表現を使用します。Pythonで正規表現を使い始める前に、まず re
モジュールをインポートする必要があります。
import re
その後、 re.sub()
メソッドを使って、引用符がある箇所をすべて空文字列に置き換えることができます。
new_str = re.sub('"', '', example_str)
print(new_str) # This is a string without quotes
これにより、引用符のない example_str
が得られます。
str.join()
str.join()はPythonで文字列から引用符をすべて取り除くために使える別の方法です。この解決策は
join()メソッドにまだ慣れていない場合は、他の解決策よりも少し複雑な構文になります。基本的には
example_strを1文字ずつ調べて、引用符以外の部分を空の文字列に追加していきます。そうすれば、
example_str` から引用符を取り除いた文字列を得ることができます。
new_str = ''.join(c for c in example_str if c not in '"')
print(new_str) # This is a string without quotes
文字列を囲む引用符を削除する方法
これまで、Pythonで文字列からすべての引用符を削除する方法について、いくつかのアプローチで説明してきました。これは文字列から引用符を削除する方法の1つに過ぎません。おそらく、より一般的な問題は、文字列を囲む引用符だけを削除する方法です。str.strip()メソッドはまさにそれを行うことを意図しています。そこで、この節では
str.strip()` メソッドについて説明します。
前のセクションと全く同じ example_str
があって、最初と最後の引用符だけを取り除きたいとします。
example_str = '"This is a string" with quotes"'
ダブルクォーテーションを引数として str.strip()
を使うと、example_str
から先頭と末尾のクォーテーションマークを取り除くことができます。
new_str = example_str.strip('"')
print(new_str) # This is a string" without quotes
注意: 文字列中にリーディングクォーテーションやリーディングクォーテーションがいくつあっても、 str.strip()
はそれらを全て削除します。
通常の str.strip()
メソッドの他に、その派生形である str.lstrip()
と str.rstrip()
メソッドもあります。最初のものは先行引用符をすべて取り除き、2番目のものは後行引用符をすべて取り除きます。
new_str = example_str.lstrip('"')
print(new_str) # This is a string" without quotes"
new_str = example_str.rstrip('"')
print(new_str) # "This is a string" without quotes
結論
この短い記事では、Pythonで文字列から引用符を削除する方法について包括的に見てきました。まず、 str.replace()
, str.join()
, re.sub()
という異なるメソッドを用いて、文字列から引用符をすべて削除する方法を説明しました。その後、str.strip()
メソッドと、その派生型である str.lstrip()
と str.rstrip()
を見てきました。