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

Java:含多字符的坐标字符串转数字数组的实现方法

嘿,这个转换需求挺简单的,我给你准备了两种主流编程语言的实现方案,不管你用JavaScript还是Python都能轻松搞定:

JavaScript 解决方案

核心思路是用正则表达式提取所有连续的数字,再把它们转换成数字类型组成数组:

// 示例输入
const coordsStr = "(13,26)-(1,16)";
// 提取所有数字并转换为数组
const coordsArray = coordsStr.match(/\d+/g).map(Number);
console.log(coordsArray); // 输出: [13, 26, 1, 16]

关键步骤说明:

  • /\d+/g 是全局匹配正则,能精准捕获所有连续的数字(不管是1位还是多位)
  • match() 方法会返回所有匹配到的数字字符串数组
  • map(Number) 把每个字符串元素转换成数字类型

测试单数字场景:

const singleDigitStr = "(1,2)-(5,7)";
const singleDigitArray = singleDigitStr.match(/\d+/g).map(Number);
console.log(singleDigitArray); // 输出: [1, 2, 5, 7]
Python 解决方案

同样用正则提取数字,再转换为整数列表:

import re

# 示例输入
coords_str = "(13,26)-(1,16)"
# 提取所有数字并转换为整数数组
coords_array = list(map(int, re.findall(r'\d+', coords_str)))
print(coords_array)  # 输出: [13, 26, 1, 16]

关键步骤说明:

  • re.findall(r'\d+', coords_str) 会返回所有匹配到的数字字符串列表
  • map(int, ...) 把每个字符串转换成整数
  • list() 把map对象转换成标准Python列表

测试单数字场景:

single_digit_str = "(1,2)-(5,7)"
single_digit_array = list(map(int, re.findall(r'\d+', single_digit_str)))
print(single_digit_array)  # 输出: [1, 2, 5, 7]

小提示

这种正则方案兼容性很强,就算你的坐标字符串里混了空格(比如 "(13, 26) - (1,16)"),也能正确提取数字,不用额外处理格式问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:19:44