use*_*897 2 python string string-comparison
我想检查两个字符串是否包含相同的字母和数字
但忽略特殊字符,例如_
例子:
word1 = "ABCD" , word2 = "ACDB" => return True
word1 = "ABC1E_" , word2 = "AE1CB" => return True
word1 = "AB12" , word2 = "ABE2" => return False
word1 = "ABB" , word2 = "AB" => return True
Run Code Online (Sandbox Code Playgroud)
假设您想要考虑每个字符串中的每个字母数字字符都是相同的(而不仅仅是字符集),您可以Counter在过滤字符后比较 s 。
from collections import Counter
res = Counter(filter(str.isalnum, word1)) == Counter(filter(str.isalnum, word2))
Run Code Online (Sandbox Code Playgroud)
如果您只想比较字符集(即“AAB”和“AB”将返回 true),您可以使用类似的方法set
res = set(filter(str.isalnum, word1)) == set(filter(str.isalnum, word2))
Run Code Online (Sandbox Code Playgroud)