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

C#如何提取字符串中age=后的数字并存入数组,处理末尾边界情况

实现方案

方案1:使用Split多字符串分隔重载

C#的Split本身支持多字符串作为分隔符,只需调用对应重载,同时过滤无效内容即可:

// 原始目标字符串示例
string rawStr = ", age=48, key=dkSlj, age=5\"}";
// 定义分隔符数组
string[] separators = { "age=", "," };
// 调用Split重载,自动移除空条目、trim前后空格
string[] splitArr = rawStr.Split(separators, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
// 筛选可解析为数字的条目,自动过滤末尾冗余符号
string[] ages = splitArr.Where(item => int.TryParse(item, out _)).ToArray();

方案2:正则匹配(更稳定,推荐)

直接匹配age=后的数字序列,无需额外处理边界和冗余内容:

using System.Text.RegularExpressions;

string rawStr = ", age=48, key=dkSlj, age=5\"}";
// 正则规则:匹配age=后的连续数字,不捕获age=前缀
MatchCollection ageMatches = Regex.Matches(rawStr, @"(?<=age=)\d+");
// 转换为字符串数组
string[] ages = ageMatches.Cast<Match>().Select(m => m.Value).ToArray();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:06:03