读书人

求一字符串解析方法有关问题

发布时间: 2012-10-23 12:12:22 作者: rapoo

求一字符串解析方法问题
str="#0||1.txt||0.00 KB||~/Upload/FileUpload20121007073636062.txt||file-0#0||2.txt||0.00 KB||~/Upload/FileUpload20121007073640375.txt||file-1"

我想对上面的字符串先通过#0进行解析出两条数据,再通过||进行解析将得到的数据放入一个list集合中,最好是用正则表达式来实现,这样可以去掉中间的空格之类的,谢谢!

我先是这样写的
string pattern = "(?is)(?<=" + Regex.Escape("#0") + ").+?(?=" + Regex.Escape("#0") + ")";
Regex reg = new Regex(pattern);
MatchCollection mc = reg.Matches(str);
foreach (Match m in mc)
{
这中间的||正则怎么写,同时要去掉空格
}

[解决办法]
这个正则真不会,先帮顶!
[解决办法]

C# code
string str = "#0||1.txt||0.00 KB||~/Upload/FileUpload20121007073636062.txt||file-0#0||2.txt||0.00 KB||~/Upload/FileUpload20121007073640375.txt||file-1";var query = str.Split('#', StringSplitOptions.RemoveEmptyEntries).Select(x => x.Split(new string[] { "||" }, StringSplitOptions.RemoveEmptyEntries)).Select(x => new { filename = x[1], size = x[2], path = x[3], fileid = x[4] });foreach (var item in query){    Response.WriteLine(item.filename);    Response.WriteLine(item.size);    ...} 

读书人网 >asp.net

热点推荐