问题描述
|
说我有字符串:
string = \'\'\'
this line number 1
line 2
line 3
line 4
\'\'\'
您如何将其变成:
this is line number 1line 2line 3line4
有人知道吗?
解决方法
使用
join
和splitlines
:
>>> string = \'\'\'
... this line number 1
... line 2
... line 3
... line 4
... \'\'\'
>>> \'\'.join(string.splitlines())
\'this line number 1line 2line 3line 4\'
这优于.replace(\"\\n\",\"\")
,因为它处理\\r\\n
和\\n
:
>>> \"\".join(\"a\\r\\nb\\nc\".splitlines())
\'abc\'
>>> \"a\\r\\nb\\nc\".replace(\"\\n\",\"\")
\'a\\rbc\'
, 就像是:
string.replace(\"\\n\",\"\")
更新:
认为字符串将包含“ 6”是错误的。无论平台如何,用三引号引起来的字符串都将不包含“ 11”。但是正如@ bradley.ayers所说,使用splitlines()
可能更安全,更实用。
下面是Notepad ++中显示的带有CRLF的代码:
上面的代码在Windows上有效。
, Python字符串替换
print mystr.replace(\'\\n\',\'\');
, s = \'\'\'
this line number 1
line 2
line 3
line 4
\'\'\'.replace(\'\\n\',\'\')
print s
结果是:
this line number 1line 2line 3line 4