C#字符串取中间有多个对应结果的问题 满意再加50分
比如我想设计一个程序在字符串"答案758答案结束答案8888答案结束"中取答案--答案结束中间字符串并保存成字符串格式然后我想读取比如XX[0]==758;XX[1]==...
比如我想设计一个程序 在字符串"答案758答案结束 答案8888答案结束"中取 答案--答案结束中间字符串 并保存成字符串格式 然后我想读取 比如 XX[0]==758; XX[1]==8888; 这种
展开
4个回答
2014-12-30
展开全部
var input = "答案758答案结束 答案8888答案结束";
var pattern = @"答案(?<Result>.+?)答案结束";
var matches = Regex.Matches(input, pattern);
var listResult = (from Match p in matches where p.Success select p.Groups["Result"].Value).ToList();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//using System.Linq;
//using System.Text.RegularExpressions;
static void Main(string[] args)
{
string s = "答案758答案结束 答案8888答案结束";
string r = @"答案(\d+)答案结束";
Regex reg = new Regex(r);
int[] result = reg.Matches(s).OfType<Match>()
.Select(m => Convert.ToInt32(m.Groups[1].Value))
.ToArray();
foreach (int n in result)
Console.WriteLine(n);
Console.ReadLine();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//using System.Text.RegularExpressions;
string str = "答案758答案结束 答案8888答案结束";
List<string> list=new List<string>();
foreach(Match m in Regex.Matches(str,@"答案(.*?)答案结束",RegexOptions.Singleline))
list.Add(m.Groups[1].Value.Trim());
//之后list[0]即为758,list[1]为8888
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用正则表达式 var a=/^答案[*]?答案结束/ 匹配拿出来即可
追问
我是初学者 对正则 不太熟悉 可不可以 给我一个现成的源码 让我学习学习
追答
//using System.Text.RegularExpressions;
string str = "答案758答案结束 答案8888答案结束";
List list=new List();
foreach(Match m in Regex.Matches(str,@"答案(.*?)答案结束",RegexOptions.Singleline))
list.Add(m.Groups[1].Value.Trim());
//之后list[0]即为758,list[1]为8888
这就是源码 后台调用即可! 这个可以看懂吧! 就是验证一下 正则表达式是否正确
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询