要保留三引号f字符串中的缩进,可以使用字符串的strip方法结合正则表达式来实现。下面是一个示例代码:
import re
def preserve_indentation(string):
# 匹配字符串开头的空白字符(包括空格和制表符)
match = re.match(r'^(\s+)', string)
if match:
# 获取匹配到的空白字符
indentation = match.group(1)
# 使用strip方法移除字符串开头的空白字符
stripped_string = string.strip()
# 在每行的开头添加缩进,保持原有的缩进格式
indented_string = re.sub(r'\n', '\n' + indentation, stripped_string)
return indented_string
else:
return string
# 示例用法
f_string = """
Hello,
World!
"""
indented_string = preserve_indentation(f_string)
print(indented_string)
该示例中,preserve_indentation函数接受一个字符串作为输入,并返回保留了缩进的字符串。首先,使用正则表达式匹配字符串开头的空白字符。如果匹配到了空白字符,将其保存到indentation变量中。然后,使用strip方法去除字符串开头和结尾的空白字符,得到stripped_string。最后,使用正则表达式将每行的开头替换为缩进+换行符,以保留原有的缩进格式。最终,调用preserve_indentation函数并打印结果,即可得到保留了缩进的字符串。
上一篇:保留三个数据集中的公共列