介绍
有几种方法可以从 Python 中的字符串中删除引号。 您可能需要删除所有引号或仅删除字符串周围的引号。 您可能还需要删除单引号或双引号。
在这篇简短的文章中,我们编译了一个完整的方法列表,您可以使用这些方法从 Python 中的字符串中删除引号。 使用哪一个完全取决于您。 请注意,我们在此处列出的解决方案不是从好到坏排序的。 只要满足您在特定情况下的需求,每个解决方案都很好。
如何在 Python 中从字符串中删除所有引号
首先,让我们看一下如何从字符串中删除所有引号。 本节中列出的解决方案可以更改为使用单引号和双引号。 但是,就本文而言,假设我们有一个示例字符串,其中包含三个双引号:
example_str = '"This is a string" with quotes"'
在本节中,我们将看看如何删除所有 "
来自 example_str
.
海峡替换()
我们将讨论的第一种方法是使用 str.replace()
上的方法 example_str
. 它接受两个参数——我们要替换的字符串和替换字符串。 在这种情况下,我们将替换双引号 ("
) 带有一个空字符串:
new_str = example_str.replace('"', '')
print(new_str)
str.replace()
以这种方式使用将删除所有双引号 example_str
.
常用表达
这种方法使用 正则表达式 从字符串中删除所有引号。 在我们开始在 Python 中使用正则表达式之前,我们首先需要导入 re
模块:
import re
之后,我们可以使用 re.sub()
方法 替代 所有出现的带空字符串的引号:
new_str = re.sub('"', '', example_str)
print(new_str)
这将给我们 example_str
没有任何引号。
海峡加入()
str.join()
是我们可以用来从 Python 中的字符串中删除所有引号的另一种方法。 如果您还不熟悉 join()
方法。 我们将基本上复习 example_str
逐个字符并将每个不是引号的空字符串附加到空字符串中。 这样,我们就能得到 example_str
没有任何引号:
new_str = ''.join(c for c in example_str if c not in '"')
print(new_str)
如何删除字符串周围的引号
到目前为止,我们一直在讨论如何删除的几种方法 所有 Python中字符串的引号。 这只是从字符串中删除引号的一种方法。 可以说,更常见的问题是如何去除 仅在字符串周围加上引号。 str.strip()
方法旨在做到这一点。 因此,我们将讨论 str.strip()
本节中的方法。
说我们有相同的确切 example_str
和上一节一样,我们只想删除第一个和最后一个引号:
example_str = '"This is a string" with quotes"'
使用 str.strip()
使用双引号作为其参数将删除前导引号和尾随引号 example_str
:
查看我们的 Git 学习实践指南,其中包含最佳实践、行业认可的标准以及随附的备忘单。 停止谷歌搜索 Git 命令,实际上 学习 它!
new_str = example_str.strip('"')
print(new_str)
请注意: 无论字符串中有多少个前导和/或前导引号, str.strip()
将删除所有这些。
除了通常 str.strip()
方法,还有它的两个派生词—— str.lstrip()
和 str.rstrip()
. 第一个删除 所有领先的报价,第二个删除 所有尾随引号:
new_str = example_str.lstrip('"')
print(new_str)
new_str = example_str.rstrip('"')
print(new_str)
结论
在这篇简短的文章中,我们全面了解了如何在 Python 中从字符串中删除引号。 首先,我们已经解释了如何使用几种不同的方法从字符串中删除所有引号 - str.replace()
, str.join()
及 re.sub()
. 之后,我们看了一下 str.strip()
方法,以及它的衍生物 str.lstrip()
和 str.rstrip()
.