none
字符串截取问题 RRS feed

  • 问题

  • 如 ?id=5&name=kell     我要截取id=后面的数值 有可能是一位数字有可能是2位数字 怎么截取啊

    不用羡慕----那,只是个传说!
    2009年5月19日 2:37

答案


  •             string s1 = "?id=5&name=kell";
                string s2 = "?id=51&name=kell";
                string s3 = "?id=516&name=kell";

                string r1 = s1.Substring(4, s1.IndexOf('&') - 4);
                string r2 = s2.Substring(4, s2.IndexOf('&') - 4);
                string r3 = s3.Substring(4, s3.IndexOf('&') - 4);

    另外你可以使用正则

    知识改变命运,奋斗成就人生!
    • 已标记为答案 极度 2009年5月19日 4:46
    2009年5月19日 3:09
    版主
  • using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class HTML_CSS_JAVASCRIPT_X200905181026 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string fUrl = "?id=516&name=kell";
            if (fUrl.IndexOf("?") == 0)
                fUrl = fUrl.Remove(0, 1);
            string[] fArray = fUrl.Split('&');
    
            Dictionary<string, string> fResult = new Dictionary<string, string>();
    
            foreach (string f in fArray)
            {
                string[] tArray = f.Split('=');
                fResult.Add(tArray[0], tArray[1]);
            }
    
            foreach (KeyValuePair<string, string> fpair in fResult)
            {
                Response.Write(string.Format("Key = {0}, Value = {1} <br />", fpair.Key, fpair.Value));
            }
        }
    }
    
    

    知识改变命运,奋斗成就人生!
    • 已标记为答案 极度 2009年5月19日 4:46
    2009年5月19日 3:30
    版主

全部回复

  •     protected void Page_Load(object sender, EventArgs e)
        {
            string Id = Request.QueryString["Id"];
        }

    知识改变命运,奋斗成就人生!
    2009年5月19日 2:45
    版主
  • 你好,使用 Request.QueryString.Count 以及 Request.QueryString.Keys[1] 就可以解决问题了,一般是循环。谢谢!
    邹俊才
    2009年5月19日 2:46
    版主
  • XXy:    protected void Page_Load(object sender, EventArgs e)
        {
            string Id = Request.QueryString["Id"];
        }

    我是截取啊
    ?id=5&name=kell
    string urlQuery = HttpContext.Current.Request.Url.Query;
     string lasquery = urlQuery.Substring(4,1); 这样能截取到 5  如果关键id=这里数字如果是2位数字比如说是15.因为是动态的. 要是我只截取一次就好办拉.关键是id是增加的.当到9以后就是2位数字啦

    不用羡慕----那,只是个传说!
    2009年5月19日 3:01
  • 2009年5月19日 3:07
    版主

  •             string s1 = "?id=5&name=kell";
                string s2 = "?id=51&name=kell";
                string s3 = "?id=516&name=kell";

                string r1 = s1.Substring(4, s1.IndexOf('&') - 4);
                string r2 = s2.Substring(4, s2.IndexOf('&') - 4);
                string r3 = s3.Substring(4, s3.IndexOf('&') - 4);

    另外你可以使用正则

    知识改变命运,奋斗成就人生!
    • 已标记为答案 极度 2009年5月19日 4:46
    2009年5月19日 3:09
    版主
  • XXY:谢谢
    能否用  split的拆分符是一个数组,用拆分的方法
    不用羡慕----那,只是个传说!
    2009年5月19日 3:13
  • 当然可以用 & 拆分 ,还可以形成一个键值对


    知识改变命运,奋斗成就人生!
    2009年5月19日 3:15
    版主
  • XXY: 麻烦你写下代码.我没弄明白.还在初级阶段
    不用羡慕----那,只是个传说!
    2009年5月19日 3:22
  • using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class HTML_CSS_JAVASCRIPT_X200905181026 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string fUrl = "?id=516&name=kell";
            if (fUrl.IndexOf("?") == 0)
                fUrl = fUrl.Remove(0, 1);
            string[] fArray = fUrl.Split('&');
    
            Dictionary<string, string> fResult = new Dictionary<string, string>();
    
            foreach (string f in fArray)
            {
                string[] tArray = f.Split('=');
                fResult.Add(tArray[0], tArray[1]);
            }
    
            foreach (KeyValuePair<string, string> fpair in fResult)
            {
                Response.Write(string.Format("Key = {0}, Value = {1} <br />", fpair.Key, fpair.Value));
            }
        }
    }
    
    

    知识改变命运,奋斗成就人生!
    • 已标记为答案 极度 2009年5月19日 4:46
    2009年5月19日 3:30
    版主
  • 非常感谢..xxy
    不用羡慕----那,只是个传说!
    2009年5月19日 4:46
  • 看看String、Regex类的方法就可以了,里面提供了详细的方法
    【孟子E章】
    2009年5月19日 4:51
    版主