如果我在字符串中但局部甚至可以python

顶尖

我敢肯定这很简单,但是我看不到或者可能找不到解决方案。

假设我有一个字符串,例如something--abcd--something,我想abcc在字符串中查找我想允许一个不匹配,这意味着以下代码的输出应为True

my_string='something--abcd--something'
substring = 'abcc'

if substring in my_string:
    print('True')
else:
    print('False')

我知道substring不在,my_string但是我想要的是允许一个不匹配,然后输出将为True。

我该如何实现?

蒂埃里·拉休(Thierry Lathuille)

当然有更好的方法,但是一种解决方案是使用正则表达式来搜索它,其中一个字符替换为一个点(如果希望该字符为字母,则不要用'\ w'代替)。

我们使用生成器通过每次替换其中一个字母来延迟生成正则表达式,然后检查以下任何正则表达式是否匹配:

import re
    
def with_one_dot(s):
    for i in range(len(s)):
        yield s[:i] + '.' + s[i+1:]

def match_all_but_one(string, target):
    return any(re.search(fuzzy_target, string) for fuzzy_target in with_one_dot(target))
    
def find_fuzzy(string, target):
    " Return the start index of the fuzzy match, -1 if not found"
    for fuzzy_target in with_one_dot(target):
        m = re.search(fuzzy_target, string)
        if m:
            return m.start()
    return -1

my_string = 'something--abcd--something'

print(match_all_but_one(my_string, 'abcc'))  # 1 difference
# True
print(find_fuzzy(my_string, 'abcc'))
# 11

print(match_all_but_one(my_string,'abbb'))  # 2 differences
# False
print(find_fuzzy(my_string, 'abbb'))
# -1

with_one_dot(s)发生器所产生的s一个字母通过在每个迭代点取代:

for reg in with_one_dot('abcd'):
    print(reg)

输出:

.bcd
a.cd
ab.d
abc.

这些字符串中的每一个都用作正则表达式,并在上进行了测试my_string.正则表达式中的点表示“匹配任何内容”,因此它允许使用任何符号代替原始字母。

anyTrue如果这些正则表达式匹配,则立即返回;如果不匹配,则返回False。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果字符串中包含空格,我仍然可以在字符串上使用tsort吗?

来自分类Dev

我可以在python函数中搜索字符串吗?

来自分类Dev

'\'可以在Python字符串中吗?

来自分类Dev

Rational DOORS DXL:我可以检查是否存在局部字符串变量吗?

来自分类Dev

在Python中,为什么我可以将字符串乘以数字,但不能添加字符串和数字?

来自分类Dev

如果要满足python中的某些条件,我想使用该字符串

来自分类Dev

如果我在字符串中传递 $ 作为输入参数,则 Python 参数丢失

来自分类Dev

我们可以修剪已经在列表中的字符串吗?在python中

来自分类Dev

如果我以字符串形式生成模型,那么在任何地方都可以在字符串中获取选择器按钮?

来自分类Dev

您可以在C ++中返回字符串对象的局部变量吗?

来自分类Dev

如果字符串在引号中,如何删除字符串中的特定字符 Python

来自分类Dev

在C中,如果我不想使用字符串函数,可以使用什么代替strlen?

来自分类Dev

Python列表理解甚至字符串长度与否

来自分类Dev

我可以简化从Python中的字符串类型派生吗?

来自分类Dev

我可以简化从Python中的字符串类型派生吗?

来自分类Dev

我可以简化从Python中的字符串类型派生吗?

来自分类Dev

我可以从单词python中添加字符串符号吗

来自分类Dev

我可以在插值字符串中放置函数吗?如果可以,如何放置

来自分类Dev

我可以在Node中执行字符串命令吗?

来自分类Dev

我可以在protobuf中定义常量字符串吗?

来自分类Dev

我可以从字符串中获取列名吗?

来自分类Dev

我可以在格式字符串中添加变量吗?

来自分类Dev

如果列表中的子字符串,python替换字符串中的子字符串// pythonic方式

来自分类Dev

我可以将重复的字符串存储在字符串数组中吗?

来自分类Dev

如何在python中如果条件比较字符串?

来自分类Dev

如何在python中的字符串中插入全局变量和局部变量

来自分类Dev

用Python做“如果字符串a在字符串b中包含任何字母”

来自分类Dev

如何从URL查询字符串中查找非null变量?或者我们可以从python中的请求获取URL查询字符串中的变量

来自分类Dev

如果字符串中包含我的String数组中的任何单词,如何替换字符串中的单词

Related 相关文章

  1. 1

    如果字符串中包含空格,我仍然可以在字符串上使用tsort吗?

  2. 2

    我可以在python函数中搜索字符串吗?

  3. 3

    '\'可以在Python字符串中吗?

  4. 4

    Rational DOORS DXL:我可以检查是否存在局部字符串变量吗?

  5. 5

    在Python中,为什么我可以将字符串乘以数字,但不能添加字符串和数字?

  6. 6

    如果要满足python中的某些条件,我想使用该字符串

  7. 7

    如果我在字符串中传递 $ 作为输入参数,则 Python 参数丢失

  8. 8

    我们可以修剪已经在列表中的字符串吗?在python中

  9. 9

    如果我以字符串形式生成模型,那么在任何地方都可以在字符串中获取选择器按钮?

  10. 10

    您可以在C ++中返回字符串对象的局部变量吗?

  11. 11

    如果字符串在引号中,如何删除字符串中的特定字符 Python

  12. 12

    在C中,如果我不想使用字符串函数,可以使用什么代替strlen?

  13. 13

    Python列表理解甚至字符串长度与否

  14. 14

    我可以简化从Python中的字符串类型派生吗?

  15. 15

    我可以简化从Python中的字符串类型派生吗?

  16. 16

    我可以简化从Python中的字符串类型派生吗?

  17. 17

    我可以从单词python中添加字符串符号吗

  18. 18

    我可以在插值字符串中放置函数吗?如果可以,如何放置

  19. 19

    我可以在Node中执行字符串命令吗?

  20. 20

    我可以在protobuf中定义常量字符串吗?

  21. 21

    我可以从字符串中获取列名吗?

  22. 22

    我可以在格式字符串中添加变量吗?

  23. 23

    如果列表中的子字符串,python替换字符串中的子字符串// pythonic方式

  24. 24

    我可以将重复的字符串存储在字符串数组中吗?

  25. 25

    如何在python中如果条件比较字符串?

  26. 26

    如何在python中的字符串中插入全局变量和局部变量

  27. 27

    用Python做“如果字符串a在字符串b中包含任何字母”

  28. 28

    如何从URL查询字符串中查找非null变量?或者我们可以从python中的请求获取URL查询字符串中的变量

  29. 29

    如果字符串中包含我的String数组中的任何单词,如何替换字符串中的单词

热门标签

归档