黑马程序员技术交流社区

标题: c#里如何在一个字符串内查找所有子字符串所在的位置?并... [打印本页]

作者: wyu621    时间: 2013-6-24 20:17
标题: c#里如何在一个字符串内查找所有子字符串所在的位置?并...
c#里如何在一个字符串内查找所有子字符串所在的位置?并保存到一个数组内?

作者: ﹏Lifeヽ    时间: 2013-6-24 21:05
先转化成数组  然后用数组的变量使用split(‘’)方法再分割,再存到一个新的数组中去
或者 用substring()方法先截取好,再放到数组中去!


希望能帮到你!
作者: ◇゛ 仅此而以    时间: 2013-6-24 22:59
使用String 的  IndexOf 方法 返回你要查找的字符串的位置。
作者: 孤独客    时间: 2013-6-25 19:34
通过遍历就可以,用for,比如:string a="abcde";int[] b=new int[5]   fou(int i=0;i<a.Length;i++)  b[i]=i; 字符串类似就用双层循环,外层循环变量数值就是你要的子字符串的下标。
作者: 万大述    时间: 2013-6-26 12:44
在for循环里用IndexOf()方法找出该字符串的位置并放到一个整型数组中,打印该数字即可。参考代码如下:
            string strs = "欢迎大家来到传智播客,成为传智.net工程师或传智java工程师!";
            int[] position=new int[strs.Length];
            int count = 0,strsPosition=0;
            for (int i = 0; i < strs.Length; i += strsPosition + 1) //注意此处的增量设置
            {
                strsPosition = strs.IndexOf("传智", i); //找出符合要求的字符串的位置
                position[count] = strsPosition; //把符合要求的字符串的下标放进一个数组中
                count++; //记录有多少个符合要求的字符串
            }
            for (int j = 0; j < count; j++) //输出
            {
                Console.WriteLine(position[j]);
            }
            Console.ReadKey();




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2