字符串为    发热,流鼻涕,  
   string []s= x.Split(',');
   foreach (string l in s)
   {
    MessageBox.Show(l.ToString());
   }最后面一个空格如何让它不弹出来

解决方案 »

  1.   

    加一个if判定不行么?还有一个办法就是你先把x处理一下,把最后的空格给去掉!
      

  2.   

    不可以先把X最后一个空格去掉再split吗?
      

  3.   

     string []s= x.trimend().Split(',');
      

  4.   

    有一个重载的,多了参数,好像是splitopration的枚举,那里面有一个选项是去除分割后返回的空字符串的,你试试
      

  5.   

    string [] s = x.TrimEnd(',').Split(',');
      

  6.   

    或者string [] s = x.Split(',', StringSplitOptions.RemoveEmptyEntries);
      

  7.   


      var query=str.Split(',').Where(w=>!string.IsNullOrEmpty(w));
                foreach (string l in query)
                {
                    MessageBox.Show(l.ToString());
                }
      

  8.   

    不过7楼的代码还是错的,应该把空格也做分隔符才行...
    Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries)
      

  9.   

    那各位大侠 如何把取出来的两个值 作为参数呢 
      string[] s = x.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
     foreach (string l in s)
     {
    symptom.TwoTableHOdd(,);//这边两个参数分别存这两个值
      }
      

  10.   

    string [] s = x.Split(new string[]{","}, StringSplitOptions.RemoveEmptyEntries);
    或Split(new char[]{','},StringSplitOptions.RemoveEmptyEntries)
    参数为数组或使用list.Add()等
      

  11.   

    if (clbsymtom.SelectedIndex == -1)
                {
                    MessageBox.Show("请选择");
                    return;
                }
                else
                {
                 
                            for (int i = 0; i < clbsymtom.CheckedItems.Count;i++ )//获取多个病症名称
                            {
                                x += this.clbsymtom.CheckedItems[i].ToString()+",";                        }
                               string[] s = x.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);            
                               foreach (string l in s)
                                {
                                this.dataGridView2.DataSource= symptom.TwoTableHOdd(s[0],s[1]);
                                 // MessageBox.Show(l.ToString());
                                }            }各位大侠 。   现在checkedboxlist勾两个是可以传两个参数了。。最难搞的问题其实是,我现在如果勾三个勾,四个勾,也想传三个参数,四个参数的。。这个就麻烦了。。难道还得再重新写三个参数的 四个参数的方法。。 这是个多表连接的问题  参数是表名
      

  12.   

    string[] arr = input.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
      

  13.   

    设计参数改为:
    public DataTable GetData(string[] args)这样直接split完,整个数组传进去。