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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ↖落葉下♀媃媚 中级黑马   /  2013-4-3 19:29  /  1715 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何提取出所在的所有位置
最好列出代码

7 个回复

倒序浏览
不太明白你的需求哈。请给出具体需求,不然涉及的可能性太多,即使用正则也很难做出来。
回复 使用道具 举报
麻烦把问题描述清楚一点啊....
如果给你一个字符串str = "123145456444545645646546446";
给一个子串sub ="56";
如果想寻找str第一次出现的位置用str.indexOf(sub); 会返回一个Integer类型的值,为-1说明sub不存在于str中,
如果想str最后一次出现的位置用lastIndexOf(sub);这个地方可以看API文档里面有详细介绍。
如果想截取str中的一段字符:
String  Target  = str.subString(int beginIndex, int endIndex); 返回从begin到end-1这么一段长度的字符串。
如果想获取指定位置的字符:
char  C = str.charAt(index); 返回一个字符型
回复 使用道具 举报
比如string s="hgfdgfdjsdkdl";
找出d所在的所有位置
回复 使用道具 举报
int i=s.indexOf('d')+1;
回复 使用道具 举报
本帖最后由 覃庆健 于 2013-4-3 22:57 编辑

这是我刚刚写的 可以运行~ 还加了注释 {:soso_e100:}

            string s = "hgfdgfdjsdkdl"; //自定义字符串,也可改为输入形式

            char[] temp = s.ToCharArray();  
            //将字符串转换为字符数组,即将字符串变成一个个字符
           
            Console.WriteLine("d的所有位置分别为:");
            
            for (int i = 0; i < s.Length; i++) //s.Length 即取得字符串s的长度
            {
                    if (temp [ i]== 'd')   //如果这个元素为d temp后面接方括号 i  不知道为什么打不出来

                {
                    Console.WriteLine("第{0}个位置", i + 1);
                    //输出这个元素的位置i+1(下标从0开始所以要+1)
                }
            }
            Console.ReadKey();

评分

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

查看全部评分

回复 使用道具 举报
so easy ···希望你有问题 说具体一点,要不然别人丈二和尚摸不着头脑
回复 使用道具 举报
覃庆健 发表于 2013-4-3 22:48
这是我刚刚写的 可以运行~ 还加了注释

            string s = "hgfdgfdjsdkdl"; //自定义 ...

谢谢,很详细!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马