为了提高Python代码库的可读性,我想将包含换行符的所有字符串转换为多行字符串。例如:
foo = 'line 1\nline2\nline3'
应转换为:
foo = '''line 1
line 2
line3'''
我假设这可以通过应用正则表达式替换来完成?有没有更好的选择?我想到的一个方法是使用工具来实际分析python AST,并允许以不同的方式重新生成代码,或者这个方向是不是有点过头了?
发布于 2018-07-07 01:28:18
明白了。我不会重复如何识别字符串;有很多方法,正则表达式很适合您。将这一行拆分为三个部分:pre_str
、multi_str
和post_str
。下面的代码假设引号是multi_str
格式的。
tri_q = "'''"
if `\n` in multi_str:
if "'''" in multi_str:
tri_q = '"""'
print(pre_str, tri_q, multi_str[1:-1], tri_q, post_str)
else:
# string is not multi-line: just dump the original text.
这是否解决了您的未解决问题?
https://stackoverflow.com/questions/51214979
复制相似问题