替换新换行符

时间:2014-06-11 18:28:48

标签: python

我正在尝试使用replace将额外的文字写入此多行字符串的第一行,但它不起作用:

somestr = """For example
("""

print somestr.replace('\\n(', ' you can find')

我期待以下结果:

For example you can find
(

修改

此字符串来自行对象:

cursor.execute("SELECT col1 FROM tbl")
row = cursor.fetchone()
somestr = str(row.col1)

pprint.pprint(locals())的输出结果为:

{'somestr': '\n\nFor example\n(\n'}

1 个答案:

答案 0 :(得分:3)

不要转义换行符,它会正常工作;如果要插入而不是替换,请包含原始文本:

somestr.replace('\n(', ' you can find\n(')

原始字符串包含字符序列\n(,但您的代码正在尝试替换它。相反,该字符串中有一个换行符后跟(,要创建换行符,您需要使用\n,而不是\\n

演示:

>>> somestr = """For example
... ("""
>>> print somestr.replace('\n(', ' you can find\n(')
For example you can find
(