黑马程序员技术交流社区

标题: 字符串的提取 [打印本页]

作者: ↖落葉下♀媃媚    时间: 2013-4-3 19:29
标题: 字符串的提取
如何提取出所在的所有位置
最好列出代码
作者: 曾玉锋    时间: 2013-4-3 19:43
不太明白你的需求哈。请给出具体需求,不然涉及的可能性太多,即使用正则也很难做出来。
作者: 刘胜寒    时间: 2013-4-3 19:47
麻烦把问题描述清楚一点啊....
如果给你一个字符串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); 返回一个字符型

作者: ↖落葉下♀媃媚    时间: 2013-4-3 21:11
比如string s="hgfdgfdjsdkdl";
找出d所在的所有位置
作者: 张正强    时间: 2013-4-3 22:20
int i=s.indexOf('d')+1;
作者: 覃庆健    时间: 2013-4-3 22:48
本帖最后由 覃庆健 于 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();

作者: 冯超    时间: 2013-4-3 22:51
so easy ···希望你有问题 说具体一点,要不然别人丈二和尚摸不着头脑
作者: ↖落葉下♀媃媚    时间: 2013-4-4 12:13
覃庆健 发表于 2013-4-3 22:48
这是我刚刚写的 可以运行~ 还加了注释

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

谢谢,很详细!




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