Skip to main content
 首页 » 编程设计

python之计算字符串中单词之间的空格数

2025年05月04日13kerrycode

我在做this Hackerrank 上的问题,我想出了这个主意,其中包括拆分输入并在之后加入它(请参阅下面的实现)。但是,其中一个测试用例包含输入(hello <多个空格> world),这导致我的代码崩溃,因为输入字符串在每个单词之间有超过 1 个空格。所以,我只是想知道是否有人可以帮我修复我的代码,我只是想知道如何在 Python 中计算字符串中有多少个空格(尤其是多个空格)。我找到了如何在 Java 中计算空格,但在 Python 中没有。对于测试用例,我附上了图片。

提前致谢。

我的实现:

input_string = input() 
 
splitter = input_string.split() 
 
final = [] 
 
for i in range(0,len(splitter)): 
    for j in range(0,len(splitter[i])): 
        if(j==0): 
            final.append(splitter[i][j].upper()) 
        else: 
            final.append(splitter[i][j]) 
    # Assumed that there is one space btw each words 
    final.append(' ') 
print(''.join(final)) 

For Test case pic,

请您参考如下方法:

您可以通过使用模式 ' ' (空格)拆分来修复它

splitter = input_string.split(' ') 

您也可以使用 .capitalize() 方法而不是再次拆分 token

s = "hello  world         4lol" 
a = s.split(' ') 
 
new_string = '' 
for i in range(0, len(a)) : 
   new_string = a[i].capitalize() if len(new_string)==0 else new_string +' '+ a[i].capitalize() 
print(new_string) 

输出:

Hello  World         4lol 

要计算两个单词之间的空格数,可以使用 python 的正则表达式模块。

import re     
s = "hello       world  loL" 
tokens = re.findall('\s+', s) 
 
for i in range(0, len(tokens)) : 
    print(len(tokens[i])) 

输出:

7 
2