字符串串截取的函数问题,高手请进

leeto_king 2013-05-17 05:06:14
想写个截取字符串的函数。字符串内容如下:
result=0&confirm_time=2013-05-17 17:01:27&id=22810190123&replys=[{"callmdn":"106900671033300001","mdn":"18688288888","content":"测试","reply_time":"2013-05-17 17:01:27","id":"22810191123"}]

想得到confirm_time,id,callmdn,mdn,content这几个参数,麻烦高手帮忙看看,非常感谢!

...全文
215 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

        public static string GetUrlParamter(string paraName, string url)
        {
            var regex = string.Format("(&(amp;)?)?{0}=(?<paraVal>[^&]*)", System.Text.RegularExpressions.Regex.Escape(paraName));
            var match = System.Text.RegularExpressions.Regex.Match(url, regex, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            return match.Success ? match.Groups["paraVal"].Value : null;
        }

        public static string GetUrlJsonParamter(string paraName, string jsonKey, string url)
        {
            var jsonData = GetUrlParamter(paraName, url);
            if (string.IsNullOrEmpty(jsonData)) return null;

            var regex = string.Format(@"(""?){0}(\1)\s*:\s*""(?<jsonVal>[^""]*)""", System.Text.RegularExpressions.Regex.Escape(jsonKey));
            var match = System.Text.RegularExpressions.Regex.Match(jsonData, regex, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            return match.Success ? match.Groups["jsonVal"].Value : null;
        }

GetUrlParamter("id", url);
GetUrlJsonParamter("replys", "mdn", url);
shelly 2013-05-20
  • 打赏
  • 举报
回复
 JArray javascript = (JArray)JsonConvert.DeserializeObject(jsontr);
            
            for (int i = 0; i < javascript.Count; i++)
            {
                //  
                JObject obj = (JObject)javascript[i];
           string callmdn=obj["callmdn"].ToString();
                string mdn= obj["mdn"].ToString();
                string content= obj["content"].ToString();
               }
三五月儿 2013-05-18
  • 打赏
  • 举报
回复
自己写个函数去解析吧,主要使用split函数分割
游戏人间 2013-05-18
  • 打赏
  • 举报
回复


            List<string> s = new List<string>();
            string p = "confirm_time=([^&]*)&id=([^&]*)&replys=\\[{\"callmdn\":\"([^\"]*)\",\"mdn\":\"([^\"]*)\",\"content\":\"([^\"]*)\"";
            GroupCollection g = Regex.Match(textBox1.Text, p).Groups;
            for (int i = 1; i < g.Count; i++)
            {
                s.Add(g[i].Value); 
            }
leeto_king 2013-05-17
  • 打赏
  • 举报
回复
哪位大神能用数组搞掂?帮帮忙,感谢。
City_member 2013-05-17
  • 打赏
  • 举报
回复
有很多JSON处理的dll,你可以上网搜索下
FangYANYI 2013-05-17
  • 打赏
  • 举报
回复
后面json可以仿照
FangYANYI 2013-05-17
  • 打赏
  • 举报
回复
string[] strArray=字符串.split('&'); foreach(string str in strArray){ string s=str.split('='); if(s[0].Trim()=="confirm_time"){ 值=s[1]; } ...同解 } json比较方便
iceMung 2013-05-17
  • 打赏
  • 举报
回复
C#、json 百度一大堆 http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-json.html
leeto_king 2013-05-17
  • 打赏
  • 举报
回复
感谢各位大神的指导,应该用数组。 主要需获取:=[{"callmdn":"106900671033300001","mdn":"18688288888","content":"测试","reply_time":"2013-05-17 17:01:27","id":"22810191123"}]这一段里的5个参数值。 能否帮忙给段DEMO?非常感谢。
  • 打赏
  • 举报
回复
3
引用 3 楼 libinguest 的回复:
先按&折分成数组,再把数组的最后一个元素,也就是你的json按上面的说法来做。
简单理解下的处理方式...可取。
风之影子 2013-05-17
  • 打赏
  • 举报
回复
先按&折分成数组,再把数组的最后一个元素,也就是你的json按上面的说法来做。
lcawen 2013-05-17
  • 打赏
  • 举报
回复
sqit("\"") 然后取偶数的那部分
风之影子 2013-05-17
  • 打赏
  • 举报
回复
最合理把json反序列化成对象进行处理

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧