A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

c#里如何在一个字符串内查找所有子字符串所在的位置?并保存到一个数组内?

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

4 个回复

倒序浏览
先转化成数组  然后用数组的变量使用split(‘’)方法再分割,再存到一个新的数组中去
或者 用substring()方法先截取好,再放到数组中去!


希望能帮到你!

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
使用String 的  IndexOf 方法 返回你要查找的字符串的位置。

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
通过遍历就可以,用for,比如:string a="abcde";int[] b=new int[5]   fou(int i=0;i<a.Length;i++)  b[i]=i; 字符串类似就用双层循环,外层循环变量数值就是你要的子字符串的下标。
回复 使用道具 举报
在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();
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马