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

如何从字符串及字符串数组提取特定内容?修复代码逻辑错误

字符串内容提取问题解决

一、修复数组提取姓名的代码

你的代码存在两个问题:

  1. 变量名不匹配:定义的数组是array,但循环中错误使用了text[i],导致逻辑异常
  2. 姓名提取的分隔符错误:原字符串中姓名前的分隔符是- ,而非逗号,用split(",")无法正确分割内容

修正后的代码如下:

let array= [
  'age 19 - Donna',
  'age 20 - James'
];
let getNumber = [];
let getName= [];
for(let i = 0; i < array.length; i++){
  getNumber[i] = array[i].split(" ", 2)[1];
  getName[i] = array[i].split(" - ")[1];
}
document.getElementById("demo").innerHTML = getNumber;
document.getElementById("demo2").innerHTML = getName;

运行后即可得到期望结果:

19,20
Donna,James

二、单个字符串提取特定单词的方法

针对单个格式固定的字符串,有两种常用提取方式:

1. 字符串分割法

利用split()方法按固定分隔符拆分字符串,再取对应位置的元素:

const str = 'age 19 - Donna';
// 提取年龄
const age = str.split(" ")[1]; // 19
// 提取姓名
const name = str.split(" - ")[1]; // Donna

2. 正则表达式法

对于格式灵活的场景,正则表达式更通用:

const str = 'age 19 - Donna';
// 提取数字(年龄)
const age = str.match(/\d+/)[0]; // 19
// 提取分隔符后的姓名
const name = str.match(/- (.*)/)[1]; // Donna

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:50:28