在C#中创建一个字符串或列表(包含HTML标签)A有这样一个字符串:strings=@"111221223132";如何创建字典d=newDictionary();从字符串s得到相同的结果:d.Add(11,12);d.添加(21,22);d.添加(31,32);你应该改用HTMLAgilityPack。示例:(已测试)vardoc=newHtmlDocument();doc.LoadHtml(s);vardict=doc.DocumentNode.Descendants("tr").ToDictionary(tr=>int.Parse(tr.Descendants("td").First().InnerText),tr=>int.Parse(tr.Descendants("td").Last().InnerText));如果HTML始终格式正确,则可以使用LINQ-to-XML;代码几乎相同。代码使用RE=System.Text.RegularExpressions;....publicvoidRun(){strings=@"111221223132";varmcol=RE.Regex.Matches(s,"(\d+)(\d+)");vard=新字典();foreach(RE.Match匹配mcol)d.Add(Int32.Parse(match.Groups[1].Value),Int32.Parse(match.Groups[2].Value));foreach(varkeyind.Keys)System.Console.WriteLine("{0}={1}",key,d[key]);}strings=@"111221223132";XPathDocumentdoc=newXPathDocument(XmlReader.Create(newStringReader(s),newXmlReaderSettings{ConformanceLevel=ConformanceLevel.Fragment,IgnoreWhitespace=true}));字典dict=doc.CreateNavigator().Select("tr").Cast().ToDictionary(r=>r.SelectSingleNode("td[1]").ValueAsInt,r=>r.SelectSingleNode("td[2]").ValueAsInt);如果您不想使用HTML敏捷包,可以试试类似于:vararr=s.Replace("","").Split("();foreach(varrowinarr){varitm=row.Replace("","").Split("",StringSplitOptions.RemoveEmptyEntries);d.Add(int.Parse(itm[0]),int.Parse(itm[1]);}(也)vars="111221223132";varrows=s.Split(new[]{""},StringSplitOptions.None);varresults=newDictionary();foreach(varrowinrows){varcols=row.Split(new[]{""},StringSplitOptions.None);varvals=new列表();foreach(varcolincols){varval=col.Replace("",string.Empty).Replace("",string.Empty);整数整数;if(int.TryParse(val,outintVal))vals.Add(intVal);}if(vals.Count==2)结果.Add(vals[0],vals[1]);}使用RE=System.Text.RegularExpressions;....publicvoidRun(){strings=@"111221223132";varmcol=RE.Regex.Matches(s,"(\d+)(\d+)");vard=新字典();foreach(RE.Match匹配mcol)d.Add(Int32.Parse(match.Groups[1].Value),Int32.Parse(match.Groups[2].Value));foreach(varkeyind.Keys)System.Console.WriteLine("{0}={1}",key,d[key]);以上就是C#学习教程:C#中创建字符串或列表(包括HTML标签)全部内容分享。如果对大家有用,需要了解更多C#学习教程,希望大家多多关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处:
