有如下的一堆字符串,需要更改成一定格式,如 str = ‘902B345FB021’ 改为 str = ‘90-2B-34-5F-B0-21’。 借助 python 脚本,可以轻松实现,原理就是:字符串的按照固定长度拆分。
代码示例:
import time # 一百万条数据做测试 str_list = ["902B345FB021"] * 1000000 # 方法一: t = time.time() for str in str_list: s = str.strip() r = '' for i in range(len(s)): if i != 0 and i % 2 == 0: r = r + '-' + s[i] else: r = r + s[i] # print("方法一", r) print("方法一用时:", time.time() - t)代码示例:
import re import time # 一百万条数据做测试 str_list = ["902B345FB021"] * 1000000 t = time.time() for str in str_list: s = str.strip() s = re.findall(r'.{2}', s) r = '-'.join(s) # print("方法二", r) print("方法二用时:", time.time() - t)测试结果: 由此可见,方法二比方法一效率高,但是慎用方法二,如果字符串长度小于固定长度或者字符串长度不能够被固定长度整除,那么将造成数值丢失。
例如:
str_list = ["902B345FB021", "1", "12345"]运行结果: