Skip to main content
 首页 » 编程设计

python之有没有办法断言两个字符串除了 python 中的一部分之外是相同的

2025年05月04日35telwanggs

我试图断言两个字符串除了数字之外是相同的。前任。

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+ 是一个或多个数字的占位符。请注意,管道字符被转义,因为它们在正则表达式中具有特殊含义。