在一行中打印多行语句
print multiline statement in a single line
我有一个巨大的数字,看起来像这样(原始的简化版本):
NUM = """
74
89
90
"""
我怎样才能将它打印成单行号且中间没有空格?像这样:
748990
我试过:
num = NUM.replace('\n', '').strip()
print(num)
但我是这样理解的:
74 89 90
我想避免在所有行中写引号和 \ 符号的选项。
提前致谢。
NUM.replace('\n', '').strip()
上面的不工作是从前端和末端剥离trim,而不是在中间。
你可以使用 re.sub
:
>>> import re
>>> re.sub('[ \n]', '', NUM)
'748990'
使用re.findall
:
>>> "".join(re.findall("\d", NUM))
'748990'
你也可以这样做
>>> NUM.replace("\n", '').replace(' ', '')
'748990'
使用 filter
和 str.isdigit
:
Python 3.x
>>> "".join(filter(str.isdigit, NUM))
'748990'
Python 2.x
>>> filter(str.isdigit, NUM)
'748990'
你可以得到每一行 split()
和他们 join()
他们:
>>> ''.join(NUM.split())
'748990'
我有一个巨大的数字,看起来像这样(原始的简化版本):
NUM = """
74
89
90
"""
我怎样才能将它打印成单行号且中间没有空格?像这样:
748990
我试过:
num = NUM.replace('\n', '').strip()
print(num)
但我是这样理解的:
74 89 90
我想避免在所有行中写引号和 \ 符号的选项。
提前致谢。
NUM.replace('\n', '').strip()
上面的不工作是从前端和末端剥离trim,而不是在中间。
你可以使用 re.sub
:
>>> import re
>>> re.sub('[ \n]', '', NUM)
'748990'
使用re.findall
:
>>> "".join(re.findall("\d", NUM))
'748990'
你也可以这样做
>>> NUM.replace("\n", '').replace(' ', '')
'748990'
使用 filter
和 str.isdigit
:
Python 3.x
>>> "".join(filter(str.isdigit, NUM))
'748990'
Python 2.x
>>> filter(str.isdigit, NUM)
'748990'
你可以得到每一行 split()
和他们 join()
他们:
>>> ''.join(NUM.split())
'748990'