【问题标题】:I would like to print all alphabet letters in the string below, however, I do not get an output when I run the code. What am I doing wrong?我想打印下面字符串中的所有字母,但是,当我运行代码时我没有得到输出。我究竟做错了什么?
【发布时间】:2021-12-28 16:39:22
【问题描述】:

我想打印下面字符串中的所有字母,但是,当我运行代码时没有得到输出。甚至没有错误。我做错了什么?

        x='a14b8c789d45e17'
        for i in x:
            if i== '%s' %x:
        print(i)

#无输出

【问题讨论】:

  • 您将每个字符与整个字符串进行比较。除非字符串只有 1 个字符长,否则它们永远不会相等。
  • 你可能想测试if i.isalpha():
  • '%s' % xx 相同。
  • 我实际上正在努力将这里的字符串分成字母和数字。这是在第一次出现字母时对其进行排序。这是我想要的输出 a14;b8;c789;d45;e17。我是 python 新手,我一直在努力。我在这里看到了一个建议使用 re 模块的答案,但我想尝试以艰难的方式来帮助我理解它是如何工作的。
  • @Userio 您应该在问题中edit 提供该信息,因为它是问题的必要组成部分。

标签: python string alphanumeric


【解决方案1】:

您当前正在测试单个字符是否等于整个字符串。相反,使用str.isalpha() method 测试每个子字符串以测试它们是否是字母:

x = 'a14b8c789d45e17'
for i in x:
    if i.isalpha():
       print(i)

【讨论】:

  • 谢谢。我实际上正在努力将这里的字符串分成字母和数字。这是在第一次出现字母时对其进行排序。这是我想要的输出 [a14;b8;c789;d45;e17]。我是 python 新手,我一直在努力。我在这里看到了一个建议使用 re 模块的答案,但我想尝试以艰难的方式来帮助我理解它是如何工作的。
  • @Userio 好吧,您可以维护两个变量:一个 partial_word 字符串,您一直添加到遇到新字母,以及一个 word_list 列表,您将 partial_word 值添加到一旦是这种情况
猜你喜欢
  • 2016-01-24
  • 2013-08-06
  • 1970-01-01
  • 1970-01-01
  • 2020-02-22
  • 1970-01-01
  • 2016-07-18
  • 2019-09-01
  • 1970-01-01
相关资源
最近更新 更多