基本上,我要求用户在控制台中输入一串文本,但该字符串很长,包含许多换行符。我该如何获取用户的字符串并删除所有换行符以使其成为一行文本。我获取字符串的方法非常简单。
string = raw_input("Please enter string: ")
我应该用其他方式从用户那里获取字符串吗?我在 Mac 上运行的是 Python 2.7.4。
PS 显然我是个菜鸟,所以即使解决方案不是最有效的,使用最简单的语法的解决方案也会受到赞赏。
您如何使用 输入换行符raw_input?但是,一旦字符串中包含一些您想删除的字符,就只删除replace它们。
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会有第二个程序为您处理它们!)。
'\n'
\r
基本上:
# you probably want to use a space ' ' to replace `\n` mystring = mystring.replace('\n', ' ').replace('\r', '')
还要注意,将变量命名为 不是一个好主意string,因为这会遮盖模块string。我会避免使用另一个名称,但有时我会喜欢使用:file。出于同样的原因。
string
file