You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何从字符串中提取特定字符?以提取坐标值存储为变量为例

Python 从指定格式字符串中提取坐标值的实现方案

实现思路

直接通过正则表达式匹配所有x=、y=后紧跟的2-3位数字,完全符合你给出的坐标值规则,无需做复杂的字符串分割处理。

完整代码实现

import re

# 原始字符串
raw_str = "coordinates:x=22,y=45;x=144,y=56;x=26,y=13;x=144,y=87"

# 正则匹配所有2-3位的坐标值,直接转为整数
coord_values = list(map(int, re.findall(r'[xy]=(\d{2,3})', raw_str)))

# 按顺序赋值给8个变量
xCoord1, yCoord1, xCoord2, yCoord2, xCoord3, yCoord3, xCoord4, yCoord4 = coord_values

# 测试输出
print(f"xCoord1 = {xCoord1}")
print(f"yCoord1 = {yCoord1}")
print(f"xCoord2 = {xCoord2}")
print(f"yCoord2 = {yCoord2}")
print(f"xCoord3 = {xCoord3}")
print(f"yCoord3 = {yCoord3}")
print(f"xCoord4 = {xCoord4}")
print(f"yCoord4 = {yCoord4}")

输出结果

xCoord1 = 22
yCoord1 = 45
xCoord2 = 144
yCoord2 = 56
xCoord3 = 26
yCoord3 = 13
xCoord4 = 144
yCoord4 = 87

扩展建议

如果后续坐标数量不固定,不建议定义大量独立变量,可以将结果存为列表格式,方便遍历调用:

# 存为字典列表,访问方式为 coords[0]['x']、coords[0]['y']
coords = [{"x": coord_values[i], "y": coord_values[i+1]} for i in range(0, len(coord_values), 2)]

内容的提问来源于stack exchange,提问作者hbae

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:15:04