C#如何提取字符串中所有以ab-开头的目标子串
C#提取固定格式
ab-*子串实现方案 直接用正则表达式匹配是最简便的实现方式,匹配规则写ab-\S+即可:
ab-:固定匹配目标子串的前缀\S+:匹配前缀后1个及以上的连续非空白字符,遇到空格、换行就自动截断,完全匹配示例里的子串范围
单字符串匹配(对应预期效果)
首先引入正则对应的命名空间:
using System.Text.RegularExpressions;
单条字符串提取代码:
var myString = "this is ab-skdn string"; var match = Regex.Match(myString, @"ab-\S+").Value; // 运行后match变量的值就是 "ab-skdn"
批量提取多个结果
如果要处理多条字符串、或者单条字符串里存在多个符合格式的子串,用Matches方法批量获取所有匹配项即可:
// 待处理的字符串集合 var rawStrings = new List<string> { "this is ab-skdn string", "ab-sdhnif my string" }; List<string> result = new List<string>(); foreach (var item in rawStrings) { var matches = Regex.Matches(item, @"ab-\S+"); foreach (Match m in matches) { result.Add(m.Value); } } // 最终result集合里就会得到"ab-skdn"、"ab-sdhnif"两个目标值
如果后续需要限制ab-后面的字符范围,比如只允许字母和数字,把正则规则改成ab-[a-zA-Z0-9]+即可,按需调整就行。
内容的提问来源于stack exchange,提问作者TestingCodes
相关产品推荐
相关产品推荐

