使用Split方法分割字符串并返回首个整数值(不使用LINQ实现)
不依赖LINQ的实现方案
你当前的LINQ实现逻辑是将输入字符串sentencewithint拆分后,匹配第一个符合「可选负号+纯数字」格式的子串,再转换为整数返回。无需LINQ的版本可以通过直接遍历拆分后的数组实现,代码如下:
// 拆分字符串,注意原代码中的Split("")为非法写法,此处修正为按空格拆分,可按需调整分隔符 string[] splitItems = sentencewithint.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries); Regex numberRegex = new Regex(@"^\-?[0-9]+$"); string matchedItem = null; // 遍历查找第一个符合规则的子项,找到后直接终止循环 foreach (string item in splitItems) { if (numberRegex.IsMatch(item)) { matchedItem = item; break; } } // 若需兼容无匹配项的场景,可替换为int.TryParse做兜底处理 int firstInt = int.Parse(matchedItem); return firstInt;
注意事项:
- 原代码里的
Split("")会触发运行时异常,如果你需要按其他规则拆分字符串,自行调整Split方法的参数即可。 - 以上实现完全和原有LINQ版本逻辑对齐,没有引入额外依赖。
内容的提问来源于stack exchange,提问作者CodeDev
相关产品推荐
相关产品推荐

