在 Python 中将反斜杠添加到字符串而不转义
使用原始字符串在不转义的情况下向字符串添加反斜杠,例如 r'yes\no\maybe'
。 当一个字符串以 r
为前缀时,它会将反斜杠视为文字字符并且不需要转义它们。
# ✅ 将反斜杠添加到字符串而不转义它们
my_str = r'yes\no\maybe'
print(my_str) # 👉️ yes\no\maybe
# ---------------------------------------
# ✅ 向字符串添加反斜杠 (str.replace())
my_str = 'yes_no_maybe'
result = my_str.replace('_', r'\_')
print(result) # 👉️ yes\_no\_maybe
# ---------------------------------------
# ✅ 在原始格式化字符串文字中使用变量
variable = 'maybe'
my_str = fr'yes\no\{variable}'
print(my_str) # 👉️ yes\no\maybe
第一个示例使用原始字符串将文字反斜杠字符添加到字符串中而不对其进行转义。
以
r
为前缀的字符串称为原始字符串,并将反斜杠视为文字字符。
如果需要在字符串中的特定字符前添加反斜杠字符,请使用 str.replace()
方法。
my_str = 'yes_no_maybe'
result = my_str.replace('_', r'\_')
print(result) # 👉️ yes\_no\_maybe
str.replace
方法返回字符串的副本,其中所有出现的子字符串都被提供的替换项替换。
该方法采用以下参数:
- old 字符串中我们要替换的子串
- new 替换每次出现的 old
- count 仅替换第一个 count 出现(可选)
该方法不会更改原始字符串。 字符串在 Python 中是不可变的。
如果我们需要在原始字符串中使用变量,请使用格式化字符串文字。
variable = 'maybe'
my_str = fr'yes\no\{variable}'
print(my_str) # 👉️ yes\no\maybe
格式化字符串文字 f-strings
让我们通过在字符串前加上 f 来在字符串中包含表达式。
确保将表达式用大括号括起来 – {expression}
。
请注意
,我们在字符串前加上了 fr 而不仅仅是 f。
如果我们需要定义一个无需转义特殊字符的多行字符串,请使用三引号原始字符串。
my_str = r"""yes
\no
\maybe"""
# yes
# \no
# \maybe
print(my_str)
三引号字符串与我们使用单引号或双引号声明的基本字符串非常相似。
但它们也使我们能够:
- 在同一个字符串中使用单引号和双引号而不转义
- 定义多行字符串而不添加换行符
行尾自动包含在三引号字符串中,因此我们不必在末尾添加换行符。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。