如何在字符串中打印单词?

3
我希望在我的代码中实现以下功能:
  1. 将字符串的每个单词打印在新的一行
  2. 将每个字符打印在新的一行
我已经使用以下代码实现了第二部分:
s2 = "I am testing"
for x in s2:
    print x

我在实现第一部分时遇到了问题。我已经编写了以下代码,可以识别字符串中的空格。

for i in s2:
    if not(i.isspace()):
        print i
    else:
        print "space"

我也尝试了下面这个方法,它可以去掉字符串中的所有空格:

s3 = ''.join([i for i in s2 if not(i.isspace())])
print s3

但仍未达到我期望的输出,它应该是类似于:
I
am
testing
2个回答

13
>>> s2 = "I am testing"
>>> for word in s2.split():
        print word


I
am
testing

2
如果提问者想知道这为什么是答案:split() 函数可以接受可选的参数 sep 来决定如何分割字符串。在每个 sep 出现的地方,我们就将字符串分割开。关键是 sep 默认匹配任意数量的连续空格。更多信息请参见 此处 - James Brewer

2

使用:

s2 = "I am testing"
for x in s2.split():
    print x

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接