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

将空格/逗号分隔的数字字符串拆分为String[]失败问题

字符串拆分问题的解决方法

问题分析

你遇到的拆分失败情况,大概率是变量拼写错误、分隔符不匹配,或者正则表达式/方法参数使用不当导致的。

针对第一种Split方法的修正

你的第一段代码逻辑本身没问题,正常情况下可以拆分空格或逗号分隔的字符串。如果运行后结果不符合预期,检查以下两点:

  • 变量名一致性:确保所有引用的变量名大小写一致(C#是大小写敏感语言)。
  • 分隔符覆盖全面:如果字符串中存在全角空格( )而非半角空格( ),需要将全角空格加入分隔符数组;同时建议添加StringSplitOptions.RemoveEmptyEntries参数过滤空元素:
string numStr = "12 13 2 7 8 105 6 5 29 0";
char[] delimiterChars = { ' ', ',', ' ' };
// 移除拆分后产生的空字符串
string[] numArray = numStr.Split(delimiterChars, StringSplitOptions.RemoveEmptyEntries);

针对正则Split方法的修正

你的第二段代码存在两个问题:

  1. 变量名大小写错误:numstr应改为numStr,否则会编译失败;
  2. 正则表达式匹配范围有限:原正则仅匹配数字后的空格或逗号加空格,无法处理连续分隔符、单独逗号等情况。推荐使用匹配任意数量空格/逗号的正则,并过滤空元素:
using System.Text.RegularExpressions;
using System.Linq;

string numStr = "12 13 2 7 8 105 6 5 29 0";
// 匹配一个或多个空格/逗号作为分隔符
string[] keywords = Regex.Split(numStr, @"[ ,]+");
// 过滤空元素
keywords = keywords.Where(s => !string.IsNullOrEmpty(s)).ToArray();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 17:25:26