string a="192.168.1.123:2332";求冒号前面的子串

解决方案 »

  1.   

    string a = "192.168.1.123:2332";
                string ResultStr = a.Split(new string[] { ":" }, StringSplitOptions.RemoveEmptyEntries).GetValue(0).ToString();
      

  2.   

    就是 把字符串 以:分隔成一个1唯数组 里面有两个元素,索引0为:前,你可以查看下string类的split方法
    String 类Split 方法 
      

  3.   

    Split是一个字符串处理函数,此函数返回值是字符串数组。里面的第一个参数是你所要进行字符串分隔的分隔符。第二个参数"StringSplitOptions.RemoveEmptyEntries"是移除空的字符串。最后.GetValue(0)是返回数组里第一个无素。
    不知道这样说你可清楚。
      

  4.   

     string ResultStr = a.Split(new string[] { ":" }, StringSplitOptions.RemoveEmptyEntries).GetValue(0).ToString();
    就是说这个操作后  
    形成个字符串数组 [0]中的就是192.168.1.123
       [1]中的就是2332
    怎么会产生空的字符串呢???
      

  5.   

    还有为什么要new string[] { ":" }  麻烦了  不好意思
      

  6.   

    是的,你上面的理解是对的。先用吧。多的你得看看书,兄弟!Split第二个参数,是一个枚举类型的参数。必须要。如果你确定字符串内无空格,或是你想返回有空格的子子符串,可以改为StringSplitOptions.None
      

  7.   

    你的贴子真费事:至于为什么要用new string[] { ":" },是因为函数的第一个参数,必须为数组
      

  8.   

    C# code  运行通过,结果满足要求的
    int index = 0;
    index = textBoxold.Text.Trim().IndexOf(":");     //求出':'在字符串textBoxold.Text的下标
    if (index < 0)
        MessageBox.Show("字符串错误,缺乏:号", "示",MessageBoxButtons.OK,                 MessageBoxIcon.Information);
    else
        {
          textBoxgoal.Text = textBoxold.Text.Trim().Substring(0,index);   //求出':'前的字符串
          textBoxremain.Text = textBoxold.Text.Trim().Substring(index + 1);  ////求出':'后的字符串    }