How to compare two string with some characters only in python
本问题已经有最佳答案,请猛点这里访问。
我有两个字符串要比较,下面的结果应该返回
1 2 3 4 | s1 = 'toyota innova' s2 = 'toyota innova 7' if s1 like s2 return true |
或
1 2 3 4 | s1 = 'tempo traveller' s2 = 'tempo traveller 15 str' //or tempo traveller 17 str if s1 like s2 return true |
那么,我在python中是如何比较的呢?例如getmecab.com/round-trip/德里/agra/tempo-traveller
这表明我们找不到这个型号的名称,但如果向下滚动,就会显示出Tempo Traveller 12str/15str。所以我带这两辆出租车去寻找速度旅行者。
您可以使用
1 2 | 'toyota innova' in 'toyota innova 7' # True 'tempo traveller' in 'tempo traveller 15 str' # True |
如果只想匹配字符串的开头,可以使用
1 2 | 'toyota innova 7'.startswith('toyota innova') # True 'tempo traveller 15 str'.startswith('tempo traveller') # True |
或者,如果只想匹配字符串的结尾,可以使用
1 | 'test with a test'.endswith('with a test') # True |
您可能还需要这样检查
1 2 | def my_cmp(s1, s2): return (s1 in s2) or (s2 in s1) |
输出:
1 2 3 4 5 6 7 8 9 10 11 | >>> s1 ="test1" >>> s2 ="test1 test2" >>> >>> my_cmp(s1, s2) True >>> >>> s3 ="test1 test2" >>> s4 ="test1" >>> >>> my_cmp(s3, s4) True |
您可以使用
1 2 | if s2.startswith(s1): return True |
或者可以使用