假设我有两个字符串:
string_ex1 = 'AbC024'
string_ex2 = 'aBc24'
string_ex3 = 'AbC24'
string_ex4 = 'aBc24'
我想要一个结果,如果我互相比较,两个字符串是相等的。 例如“AbC”==“AbC”,“024”==“24”
我已经知道,如果我用\w+和\d+区分它们,并分别转换为小写和int,我可以得到一个结果,表明两个字符串是相同的。但我想知道是否有更简单的函数来实现它
string1_str = lower(re.findall('\w+', string_ex1))
string1_int = int(re.findall('\d+', string_ex1))
string2_str = lower(re.findall('\w+', string_ex2))
string2_int = int(re.findall('\d+', string_ex2))
if string1_str == string2_str and string1_int == string2_int:
print('identical')
*编辑 比较应适用于字符串_ex1、字符串_ex2和字符串_ex3、字符串_ex4
没有内在的方法可以做到这一点。我建议,对于这两个字符串,您都可以找到组:只有字母,或者只有数字,并以小写形式比较它们,并且不带前导零
您可以使用删除前导零的正则表达式,然后使用^{} 比较:
或者,在调用
re.sub
时,可以在两个字符串上调用lower
:相关问题 更多 >
编程相关推荐