删除一长串文本中的所有换行符

基本上,我要求用户在控制台中输入一串文本,但这串文本非常长,包括许多换行符。 我如何获取用户的字符串并删除所有的换行符,使其成为一行文本。 我获取字符串的方法非常简单。

string = raw_input("Please enter string: ")

我是否应该用不同的方式从用户那里获取字符串? 我在 Mac 上运行 Python 2.7.4。

P.S. 很明显我是个新手,所以即使解决方案不是最有效的,但如果能使用最简单的语法,我将非常感激。

解决办法

如何用 "raw_input "输入换行符?但是,一旦你有一个字符串,其中有一些你想摆脱的字符,只需替换它们。

>>> mystr = raw_input('please enter string: ')
please enter string: hello world, how do i enter line breaks?
>>> # pressing enter didn't work...
...
>>> mystr
'hello world, how do i enter line breaks?'
>>> mystr.replace(' ', '')
'helloworld,howdoienterlinebreaks?'
>>>

在上面的例子中,我替换了所有的空格。字符串"'n' "代表换行。而r代表回车(如果你是在windows系统上,你可能会得到这些,第二个replace会帮你处理!)。

基本上是这样。

# you probably want to use a space ' ' to replace `\n`
mystring = mystring.replace('\n', ' ').replace('\r', '')

还要注意的是,把你的变量称为 "string "是个坏主意,因为这将影射模块 "string"。另一个我避免使用的名字,但有时很想使用。`file'。出于同样的原因。

评论(8)

你可以尝试使用字符串替换。

string = string.replace('\r', '').replace('\n', '')
评论(1)

根据 "Xbello "的评论更新。

string = my_string.rstrip('\r\n')

阅读更多 这里

评论(2)