一尘不染

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

python

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

string = raw_input("Please enter string: ")

我应该从用户那里获取字符串吗?我在Mac上运行Python 2.7.4。

PS显然,我是一个菜鸟,所以即使解决方案不是最有效的,也应感谢使用最简单语法的解决方案。


阅读 128

收藏
2020-12-20

共1个答案

一尘不染

您如何输入换行符raw_input?但是,一旦您的字符串中包含一些字符,就想摆脱replace它们。

>>> 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。出于同样的原因。

2020-12-20