兩個字符串作對比,實際值一些no變化,預期值中用*代替,以下是腳本
actual = '{"Status": 1, "Content": {"order_no": "20190813173142658002396779806585", "request_id": "4999870244479602310", "status": "SUCCESS"}, "Message": "請求成功"}' expect = '{"Status": 1, "Content": {"order_no": "*", "request_id": "*", "status": "SUCCESS"}, "Message": "請求成功"}' count = 0 for expect_char in expect: count += 1 if expect_char == '*': # 遍歷預期字符串,找到*位置 print(count) actual = actual[:count - 1] + "*" + actual[count:] # 把實際字符串該位置替換為* print(actual) for actual_char in actual[count:]: if actual_char == '"': # 依次替換后面的字符為空,直到引號,引號可以換為其他字符,亦可多個 break actual = actual[:count] + actual[count + 1:] print(actual, count) print(actual)
因為對性能要求不高,想提高性能,可替換字符串拼接方式。