首页 > 解决方案 > 以pythonic方式查找丢失的数字

问题描述

我有两个字符串 some_str 和 actual_str。我想找出在 actual_str 中找到的 some_str 的缺失数字。

some_str = 'WATER9'
actual_str = '3123459'

pos = some_str.find('WATER')

len_actual_str = len(actual_str)

len_some_str_no_water = len(some_str.replace('WATER',''))

print(some_str)
print(actual_str)

print('Missing Digits: ',actual_str[pos: pos + len_actual_str - len_some_str_no_water])

输入:案例 1:some_str = '123WATER9' actual_str = '123456459'

预期输出:45645

案例 2: some_str = 'WATER' actual_str = '123456459'

预期输出:123456459

案例 3: some_str = 'WATER9' actual_str = '123456459'

预期输出:12345645

案例 4: some_str = 'WATER459' actual_str = '123456459'

预期输出:123456

案例 5:some_str = '12WATER' actual_str = '123456459'

预期输出:3456459

注意:如果数字存在于 actual_str 中的其他位置,则不应考虑。我的意思是 some_str 总是在开头或结尾包含一些数字。他们会在actual_str 中的相同位置匹配。

标签: python-3.x

解决方案


尝试使用一个 for 循环来循环 actual_str 中的每个字符,并检查 actual_Str 中的每个字符是否在 some_str 中。

例如

some_str = 'WATER9'
actual_str = '3123459'

final_str = ''

for char in actual_str:
    if char not in some_str and char.isdigit():
        final_str += char

final_str 应该包含actual_str 中所有不在some_str 中的数字。

希望有帮助!


推荐阅读