+ -
当前位置:首页 → 问答吧 → C#里截取字符串怎么最方便?

C#里截取字符串怎么最方便?

时间:2011-12-07

来源:互联网

有个字符串如下面所示
time="2011-12-06 18:47:02" id="1" name="" card_src="from_check" type="face" 
如何最方便取到里面的time,id,name等值。
求教!

作者: otnto   发布时间: 2011-12-07

先用"和空格切割得到每个项目,然后再用="切割每一项

C# code

string s = "time=\"2011-12-06 18:47:02\" id=\"1\" name=\"\" card_src=\"from_check\" type=\"face\"";
s = s.Trim() + " ";
string[] items = s.Split(new string[] { "\" " }, StringSplitOptions.RemoveEmptyEntries);
foreach (var item in items)
{
    string[] kv = item.Split(new string[] { "=\"" }, StringSplitOptions.RemoveEmptyEntries);
    System.Diagnostics.Debug.WriteLine(string.Format("key:{0},value:{1}", kv[0],kv.Length==2?kv[1]:string.Empty));
}


作者: sdfkfkd   发布时间: 2011-12-07


C# code
 string  tempStr=@"time=""2011-12-06 18:47:02"" id=""1"" name="""" card_src=""from_check"" type=""face""";
            string pattern = @"(?i)time=""([^""]*)"".*?id=""([^""]*)"".*?name=""([^""]*)""";
            Match mc = Regex.Match(tempStr,pattern);
            string text = string.Format("time:{0} id:{1} name:{2}", mc.Groups[1].Value, mc.Groups[2].Value, mc.Groups[3].Value);
            //time:2011-12-06 18:47:02 id:1 name:

作者: Return_false   发布时间: 2011-12-07

C# code

void Main()
{
        string  tempStr=@"time=""2011-12-06 18:47:02"" id=""1"" name="""" card_src=""from_check"" type=""face""";
            string pattern = @"(?is)time=(['""]?)(?<time>[^""']*?)\1.*?id=(['""]?)(?<id>[^'""]*?)\2.*?name=(['""]?)(?<name>[^'""]*?)\3";
            foreach(Match mc in Regex.Matches(tempStr,pattern))
            Console.WriteLine(string.Format("time:{0} id:{1} name:{2}", mc.Groups["time"].Value, mc.Groups["id"].Value, mc.Groups["name"].Value));
            //time:2011-12-06 18:47:02 id:1 name:

}

作者: q107770540   发布时间: 2011-12-07