我试图断言两个字符串除了数字之外是相同的。前任。
structure_string = "name|time|mac|type"
string1 = "bob|0|abc|manual"
string2 = "bob|1|abc|manual"
我希望能够断言任何传入的字符串都匹配除时间以外的所有内容。我需要在测试中多次执行此操作,因此一个类轮将是理想的选择。像这样
assert(incoming_string == "bob|#|abc|manual")
这可能吗?
我认为子字符串方法行不通。我有一个想法来检查传入字符串的各个部分,但这很麻烦。
incoming_string_list = incoming_string.split("|")
string1_list = string1.split("|")
assert(incoming_string_list[0] == string1_list[0])
assert(incoming_string_list[2] == string1_list[2])
assert(incoming_string_list[3] == string1_list[3])
请您参考如下方法:
正则表达式就是你想要的。
import re
assert re.match(r"bob\|\d+\|abc\|manual$", incoming_string)
\d+ 是一个或多个数字的占位符。请注意,管道字符被转义,因为它们在正则表达式中具有特殊含义。
