在 Python 中删除字符串中的所有撇号
Remove all apostrophes from a String in Python
使用该str.replace()
方法从字符串中删除所有撇号,例如
result = my_str.replace("'", '')
. 该str.replace()
方法将通过用空字符串替换它们来删除字符串中的所有撇号。
主程序
my_str = 'one "two" \'three\' four "five"' # ✅ remove single quotes from string result_1 = my_str.replace("'", '') print(result_1) # 👉️ one "two" three four "five" # ✅ remove double quotes from string result_2 = my_str.replace('"', '') print(result_2) # 👉️ one two 'three' four five # ✅ remove single and double quotes from string result_3 = my_str.replace('"', '').replace("'", '') print(result_3) # 👉️ one two three four five
我们使用该str.replace()
方法从字符串中删除所有撇号。
str.replace方法返回字符串
的副本,其中所有出现的子字符串都被提供的替换项替换。
该方法采用以下参数:
姓名 | 描述 |
---|---|
老的 | 字符串中我们要替换的子串 |
新的 | 每次出现的替换old |
数数 | 只count 替换第一次出现的(可选) |
该方法不会更改原始字符串。字符串在 Python 中是不可变的。
第一个示例显示如何从字符串中删除所有单引号。
主程序
my_str = 'one "two" \'three\' four "five"' result_1 = my_str.replace("'", '') print(result_1) # 👉️ one "two" three four "five"
确保在方法的第一个参数中交替使用双引号和单引号
replace()
。我们通过用空字符串替换每个出现来删除字符串中的所有单引号。
如果您需要从字符串中删除所有双引号,请将双引号作为第一个参数传递给该replace()
方法。
主程序
my_str = 'one "two" \'three\' four "five"' result_2 = my_str.replace('"', '') print(result_2) # 👉️ one two 'three' four five
如果您需要从字符串中删除所有单引号和双引号,请调用该
replace()
方法两次。
主程序
my_str = 'one "two" \'three\' four "five"' result_3 = my_str.replace('"', '').replace("'", '') print(result_3) # 👉️ one two three four five
第一次调用该
replace()
方法会删除字符串中的所有双引号,第二次调用会删除所有单引号。或者,您可以使用生成器表达式。
要从字符串中删除所有撇号:
- 使用生成器表达式迭代字符串。
- 过滤掉所有撇号。
- 使用
str.join()
方法连接剩余的字符。
主程序
my_str = 'one "two" \'three\' four "five"' result = ''.join(char for char in my_str if char != '"') print(result) # 👉️ one two 'three' four five
我们使用生成器表达式来迭代字符串。
生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。
在每次迭代中,我们检查当前字符是否不等于双引号并返回结果。
最后一步是使用该str.join()
方法将剩余的字符连接成一个字符串。
str.join方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。
调用该方法的字符串用作元素之间的分隔符。
join()
出于我们的目的,我们在空字符串上调用该方法以在没有分隔符的情况下连接剩余的字符。您还可以使用这种方法从字符串中删除单引号和双引号。
主程序
my_str = 'one "two" \'three\' four "five"' result = ''.join( char for char in my_str if char != '"' and char != "'" ) print(result) # 👉️ one two three four five
我们使用了and
布尔运算符,因此要将字符添加到生成器对象,必须同时满足这两个条件。
一旦我们从字符串中过滤掉单引号和双引号,我们就加入剩余的字符。