如何从数组元素的两个下划线之间提取指定数字?
提取数组元素中两个下划线之间的数字
方法1:字符串分割(适合固定格式场景)
你的字符串格式固定为create_sales_数字_7873,直接用split('_')分割后取对应位置的元素即可:
names = ["create_sales_3920_7873","create_sales_49204_7873","create_sales_392_7873"] # 提取字符串形式的数字 result_str = [item.split('_')[2] for item in names] # 如果需要整数类型,直接转换 result_int = [int(item.split('_')[2]) for item in names] print(result_str) # 输出:['3920', '49204', '392'] print(result_int) # 输出:[3920, 49204, 392]
方法2:正则表达式(适合格式可能变化的场景)
如果后续字符串前缀或后缀有变动,用正则匹配两个下划线之间的数字更稳妥:
import re names = ["create_sales_3920_7873","create_sales_49204_7873","create_sales_392_7873"] # 匹配夹在两个下划线之间的连续数字 pattern = re.compile(r'_(\d+)_') result_str = [pattern.search(item).group(1) for item in names] # 转整数版本 result_int = [int(pattern.search(item).group(1)) for item in names] print(result_str)
内容的提问来源于stack exchange,提问作者SkRoR
相关产品推荐
相关产品推荐

