Python 如何输出不包含所有空格的字符串?
基本上,我正在尝试用Python编写一个代码,其中用户输入一个句子。但是,我需要我的代码删除所有空白(例如制表符、空格、索引等)并将其打印出来 这就是我到目前为止所做的:Python 如何输出不包含所有空格的字符串?,python,python-3.x,python-3.6,python-3.5,python-3.3,Python,Python 3.x,Python 3.6,Python 3.5,Python 3.3,基本上,我正在尝试用Python编写一个代码,其中用户输入一个句子。但是,我需要我的代码删除所有空白(例如制表符、空格、索引等)并将其打印出来 这就是我到目前为止所做的: def output_without_whitespace(text): newText = text.split("") print('String with no whitespaces: '.join(newText)) text = input(str('Enter a sentence: ')) print(
def output_without_whitespace(text):
newText = text.split("")
print('String with no whitespaces: '.join(newText))
text = input(str('Enter a sentence: '))
print(f'You entered: {text}')
def get_num_of_characters(text):
result = 0
for char in text:
result += 1
return result
print('Number of characters: ', get_num_of_characters(text))
def output_without_whitespace(text):
newtext = "".join(text.split())
print(f'String without whitespaces: {newtext}')
我很清楚,我在这里犯了很多错误,我错过了很多,但是,我还没有能够彻底地讨论分割和连接字符串,所以如果有人向我解释一下就好了
这是我到目前为止的全部代码:
def output_without_whitespace(text):
newText = text.split("")
print('String with no whitespaces: '.join(newText))
text = input(str('Enter a sentence: '))
print(f'You entered: {text}')
def get_num_of_characters(text):
result = 0
for char in text:
result += 1
return result
print('Number of characters: ', get_num_of_characters(text))
def output_without_whitespace(text):
newtext = "".join(text.split())
print(f'String without whitespaces: {newtext}')
我解决了我的问题强>
我在这行代码中意识到了这一点
print(f'String without whitespaces: {newtext}')
应该是的
print('String without whitespaces: ', output_without_whitespace(text))
我意识到我的问题是,为什么没有空格的句子没有打印出来给我,因为我没有调用我的函数 您的想法是正确的,但下面介绍如何使用
split
和join
实现它:
def output_without_whitespace(text):
return ''.join(text.split())
以便:
output_without_whitespace(' this\t is a\n test..\n ')
将返回:
thisisatest..
您的想法是正确的,但下面介绍了如何使用
split
和join
实现它:
def output_without_whitespace(text):
return ''.join(text.split())
以便:
output_without_whitespace(' this\t is a\n test..\n ')
将返回:
thisisatest..
有几种不同的方法可以做到这一点,但这对我来说似乎是最明显的一种。它简单有效
>>> with_spaces = ' The quick brown fox '
>>> list_no_spaces = with_spaces.split()
>>> ''.join(list_no_spaces)
'Thequickbrownfox'
.split()
不带参数,将字符串拆分为一个列表,其中包含一个或多个空格字符,不包含空格…更多详细信息
'.join(list\u no\u spaces)
将列表中的元素连接成一个字符串,元素之间没有任何内容,这就是您在这里想要的:'Thequickbrownfox'
如果您使用了,'.join(列表中没有空格)
您将得到“The,quick,brown,fox”
有经验的Python程序员倾向于少用正则表达式。通常,最好使用
.split()
和.join()
等工具来完成这项工作,并在没有其他选择的地方保留正则表达式。有几种不同的方法来实现这一点,但对我来说这似乎是最明显的方法。它简单有效
>>> with_spaces = ' The quick brown fox '
>>> list_no_spaces = with_spaces.split()
>>> ''.join(list_no_spaces)
'Thequickbrownfox'
.split()
不带参数,将字符串拆分为一个列表,其中包含一个或多个空格字符,不包含空格…更多详细信息
'.join(list\u no\u spaces)
将列表中的元素连接成一个字符串,元素之间没有任何内容,这就是您在这里想要的:'Thequickbrownfox'
如果您使用了,'.join(列表中没有空格)
您将得到“The,quick,brown,fox”
有经验的Python程序员倾向于少用正则表达式。通常,最好使用
.split()
和.join()
之类的工具来完成这项工作,并在没有其他选择的地方保留正则表达式。一个简单的解决方案是只使用split和rejoin(与您正在做的类似):
首先,我们将初始字符串拆分为一个单词列表,然后将它们连接在一起
所以想一想:
text.split()
将给我们一个单词列表(由任何空格分隔)。例如:
'hello world'.split() -> ['hello', 'world']
最后
''.join(<result of text.split()>)
有关更多方法,请参阅。一个简单的解决方案是只使用拆分和重新连接(与您正在做的类似): 首先,我们将初始字符串拆分为一个单词列表,然后将它们连接在一起 所以想一想:
text.split()
将给我们一个单词列表(由任何空格分隔)。例如:
'hello world'.split() -> ['hello', 'world']
最后
''.join(<result of text.split()>)
有关更多方法,请参阅。获取输入、拆分和联接
s = ''.join((input('Enter string: ').split()))
获取输入、拆分、加入
s = ''.join((input('Enter string: ').split()))
你有没有测试过这个?我的错--这些天给很多Groovy写东西。修正了。虽然这可能回答了作者的问题,但它缺少一些解释性的词语和指向文档的链接。如果没有一些短语,原始代码片段就没有多大帮助。你也会发现这很有帮助。请编辑您的答案。感谢您的反馈。补充解释。我匆忙地在电话上写下了最初的答案,看起来不太好看。我确实写了一个解释,但不知怎的在StackOverflow应用程序上丢失了,没有时间重写。你甚至测试过这个吗?我的错——最近在给Groovy写东西。修正了。虽然这可能回答了作者的问题,但它缺少一些解释性的词语和指向文档的链接。如果没有一些短语,原始代码片段就没有多大帮助。你也会发现这很有帮助。请编辑您的答案。感谢您的反馈。补充解释。我匆忙地在电话上写下了最初的答案,看起来不太好看。我确实写了一个解释,但不知何故在StackOverflow应用程序中丢失了,没有时间重写。别忘了调用你的函数。@Austin,哪个函数?@eyllanesc“重复”问题没有回答我的问题。它没有说明如何打印出来。而且,我的代码中仍然存在错误。此函数:
output\u,不带空格。我看不出你在叫它。:)@奥斯汀啊,对不起,我刚刚编辑了我的问题。我刚刚发布了我的完整代码。别忘了调用你的函数。@Austin,哪个函数?@eyllanesc“重复”问题没有回答我的问题。它没有说明如何打印出来。而且,我的代码中仍然存在错误。此函数:output\u,不带空格。我看不出你在叫它。:)@奥斯汀啊,对不起,我刚刚编辑了我的问题。我刚刚发布了我的完整代码。我已经要求用户事先输入他们的句子。如何在没有输入的情况下重写您建议的代码?s=''.join(变量名称.split())
@Vee与您应用的概念相同。split()
首先,然后将其包装在'.join()
中。我已经要求用户事先输入他们的句子。如何在没有输入的情况下重写建议的代码?s=''.join(variable_name.split())
@Vee与您应用的概念相同。split()
首先将其包装在''。join()
我输入了此代码,但是,我仍然得到了带有空格的相同字符串。您复制并粘贴了此代码吗?您输入代码时一定是输入错误。请马克