标题:字符串中如何获取指定位置的字符
只看楼主
hmljg06
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-6-11
 问题点数:0 回复次数:5 
字符串中如何获取指定位置的字符
如题,如何分别获取
string str=
"IO1=001
 IO2=运行
 IO3=停止
 IO4=X10"
中=后的字符,即001,运行,停止以及X10
备注:=后的字符串是可变的
谢谢!
搜索更多相关主题的帖子: 如何 字符串 
2011-08-25 18:34
hmljg06
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-6-11
得分:0 
没有人吗
2011-08-25 18:49
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:0 
你等于后的字符长度没有规律啊!
程序代码:
Arraylist lst=new Arraylist();
for(int i=0;i<str.Length;i++)
{
   if(s[i]=='=')
   {
      for(int j=i+1;j<str.Length;j++)
      {
        if(str[j]=='=')
        {
            string s=str.SubString(i+1,j-i-3);  //可能个数有点问题,楼主酌情加减1
            lst.Add(s);
            break;
        }
      }
   }
}


[ 本帖最后由 qq1023569223 于 2011-8-26 07:41 编辑 ]

   唯实惟新 至诚致志
2011-08-25 22:18
heliyi
Rank: 4
来 自:安徽省黄册市
等 级:业余侠客
帖 子:44
专家分:260
注 册:2011-7-29
得分:0 
先按'='进行字符串切分,从切分结果中取出'I'之前的部分
2011-08-25 22:55
水晶星0609
Rank: 2
等 级:论坛游民
帖 子:6
专家分:24
注 册:2011-7-29
得分:0 
程序代码:
string str = "IO1=001 IO2=运行 IO3=停止 IO4=X10";
            int i = 0;
            ArrayList resList = new ArrayList();

            while(i < str.LastIndexOf("="))
            {
                int j = str.IndexOf("=", i + 1);
                int m = str.IndexOf(" ", j);
                if (m < 0)
                    resList.Add(str.Substring(j + 1, str.Length - j - 1));
                else
                    resList.Add(str.Substring(j + 1, m - j));
                i = j;
            }
2011-08-26 11:54
hmljg06
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-6-11
得分:0 
已解决 3楼5楼没有理解我得意思 不过还是感谢
我说的是从一个文档里面读取数据 =后的字符没有规律
        static Label[] InputLable=new Label[16];
        static string[] StrSub=new string[34];
        static string[] StrLable = new string[32];

           InputLable[0] = label0; InputLable[1] = label1; InputLable[2] = label2; InputLable[3] = label3;
            InputLable[4] = label4; InputLable[5] = label5; InputLable[6] = label6; InputLable[7] = label7;
            InputLable[8] = label8; InputLable[9] = label9; InputLable[10] = label10; InputLable[11] = label11;
            InputLable[12] = label12; InputLable[13] = label13; InputLable[14] = label14; InputLable[15] = label15;


                StreamReader InputParaReader;
                InputParaReader = new StreamReader(@"C:\IOName.ini",Encoding.GetEncoding(936));
                StrSub[0] = InputParaReader.ReadToEnd();
                for (int i = 1; i < 34; i++)
                {
                    StrSub[i] = StrSub[i - 1].Substring(StrSub[i - 1].IndexOf("\n") + 1, StrSub[i - 1].Length - StrSub[i - 1].IndexOf("\n") - 1);
                }
                for (int a = 1; a < 17; a++)
                {
                    StrLable[a - 1] = StrSub[a].Substring(StrSub[a].IndexOf("=") + 1, StrSub[a].Length - StrSub[a + 1].Length - StrSub[a].IndexOf("=") - 1);

                }
                for (int i = 0; i < 16; i++)
                {
                    InputLable[i].Text = StrLable[i].ToString();
                }
2011-08-26 14:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-348416-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045870 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved