Python中如何从字符串提取product_id和order_id对应数值?
提取字符串中product_id和order_id对应数值的Python实现方法
方法一:字符串分割法
适合结构固定的简单场景,步骤清晰:
- 把原字符串按空格拆分成独立的键值片段
- 逐个片段检查,匹配到目标关键词后用冒号拆分取值
word = '10-7-2022 product_id:10 order_id:2 cost:500' parts = word.split() product_id = None order_id = None for part in parts: if part.startswith('product_id:'): product_id = part.split(':')[1] elif part.startswith('order_id:'): order_id = part.split(':')[1] # 输出结果 print(f"product_id: {product_id}, order_id: {order_id}")
方法二:正则表达式法
更灵活,不受键值对位置影响,直接匹配目标模式:
import re word = '10-7-2022 product_id:10 order_id:2 cost:500' # 匹配product_id后跟随的数字 product_id = re.search(r'product_id:(\d+)', word).group(1) # 匹配order_id后跟随的数字 order_id = re.search(r'order_id:(\d+)', word).group(1) # 输出结果 print(f"product_id: {product_id}, order_id: {order_id}")
内容的提问来源于stack exchange,提问作者Devein Clara
相关产品推荐
相关产品推荐

