【问题标题】:How do i extract a sub string which is composed of certain characters from a string in python?如何从python中的字符串中提取由某些字符组成的子字符串?
【发布时间】:2018-02-12 10:14:28
【问题描述】:

例如, 假设我有一个字符串“beabeefeab”。 我想提取一个仅由 'b' 和 'a' 组成的子字符串 那是“巴巴布”。

我通过实现嵌套循环并删除除“b”和“a”之外的所有字符来应用蛮力

【问题讨论】:

  • 您已经描述了您的问题,但没有表现出任何解决问题的尝试。
  • 你试过什么没用?
  • 我通过删除除 'b' 和 'a' 以外的所有字符来实现嵌套循环来应用蛮力

标签: python string python-3.x


【解决方案1】:

您可以使用简单的列表推导来做到这一点

a = "beabeefeab"
print("".join([i for i in a if (i == 'a' or i =='b')]))

输出:

babab

【讨论】:

    【解决方案2】:

    不是很优雅,但很有效。

    a = "beabeefeab"
    answer = ""
    for char in a:
        if char == "a" or char == "b":
            answer += char
    
    print(answer)
    

    输出

    babab
    

    【讨论】:

      【解决方案3】:

      使用set 保留允许的字符,使其更具可扩展性:

      s = "beabeefeab"
      allowed = set('ab')
      print("".join(x for x in s if x in allowed))
      

      【讨论】:

      • 你能否追踪或解释一下这个是如何工作的。
      • @HimanshuPoddar 与 Rakesh 的相同,只是我没有明确过滤单个字符,而是过滤 set 的成员资格。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-12
      • 1970-01-01
      • 2019-07-08
      • 2019-03-19
      相关资源
      最近更新 更多