Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 删除换行返回_Python_Word Wrap - Fatal编程技术网

Python 删除换行返回

Python 删除换行返回,python,word-wrap,Python,Word Wrap,我想删除包装到一定宽度的文本的换行符。e、 g import re x = 'the meaning\nof life' re.sub("([,\w])\n(\w)", "\1 \2", x) 'the meanin\x01 \x02f life' 我想返回生命的意义。我做错了什么?你需要像这样逃避\: >>> import re >>> x = 'the meaning\nof life' >>> re.sub("([,\w])\n(\

我想删除包装到一定宽度的文本的换行符。e、 g

import re
x = 'the meaning\nof life'
re.sub("([,\w])\n(\w)", "\1 \2", x)
'the meanin\x01 \x02f life'

我想返回
生命的意义
。我做错了什么?

你需要像这样逃避
\

>>> import re
>>> x = 'the meaning\nof life'

>>> re.sub("([,\w])\n(\w)", "\1 \2", x)
'the meanin\x01 \x02f life'

>>> re.sub("([,\w])\n(\w)", "\\1 \\2", x)
'the meaning of life'

>>> re.sub("([,\w])\n(\w)", r"\1 \2", x)
'the meaning of life'
>>>
如果不转义,则输出为
\1
,因此:

>>> '\1'
'\x01'
>>> 
这就是为什么我们需要使用
'\\\'
r'\\'
在Python正则表达式中显示信号
\

然而,关于这一点,来自:

如果将其放入程序中的字符串中,实际上可能需要使用四个反斜杠(因为字符串解析器在对字符串进行“反转义”时会删除其中两个反斜杠,然后正则表达式需要两个反斜杠来转义正则表达式反斜杠)

以及:

如前所述,正则表达式使用反斜杠字符(
'\'
)来表示特殊形式或允许在不调用特殊含义的情况下使用特殊字符。这与Python在字符串文本中出于相同目的使用相同字符相冲突

假设您想编写一个RE,该RE与字符串
\section
匹配,该字符串可能位于LaTeX文件中。要确定在程序代码中要写什么,请从要匹配的所需字符串开始。接下来,您必须通过在反斜杠和其他元字符前面加上反斜杠来转义它们,从而生成字符串
\\section
。必须传递给
re.compile()
的结果字符串必须是
\\section
。但是,要将其表示为Python字符串文字,必须再次转义两个反斜杠


brittenb建议的另一种方法是,在这种情况下不需要正则表达式:

>>> x = 'the meaning\nof life'
>>> x.replace("\n", " ")
'the meaning of life'
>>> 

使用原始字符串文字;Python字符串文字语法和正则表达式都解释反斜杠\1被解释为八进制转义,但不是原始字符串文字:

re.sub(r"([,\w])\n(\w)", r"\1 \2", x)
另一种方法是将所有反斜杠加倍,这样它们就可以到达正则表达式引擎

请参阅Python正则表达式HOWTO的第二部分

演示:

在换行符上拆分可能更容易;使用,然后使用以下命令与空间重新连接:


但不可否认,这不会区分单词之间的换行和其他地方的额外换行。

或使用原始字符串文字。您也可以跳过导入
re
并使用
x.replace(“\n”,”)
。但这会更改所有行返回。我只想要夹在信或信中间的commas@geotheory:关于
str.replace()
解决方案?似乎你忘了在你的问题中提到这一点:是的,我本可以更明确地说:)
>>> import re
>>> x = 'the meaning\nof life'
>>> re.sub(r"([,\w])\n(\w)", r"\1 \2", x)
'the meaning of life'
' '.join(ex.splitlines())