黑马程序员技术交流社区

标题: 如何某个字符串的位置并打印输出 [打印本页]

作者: liyin    时间: 2014-6-3 16:57
标题: 如何某个字符串的位置并打印输出
  1. str.indexOf(substr)
复制代码

今天看到的一个字符串查找语法;
问题就是我想查找students中“s”的位置时只反馈第一个“s”的位置;
有什么其他方法可以直接反馈两个“s”的位置吗?
作者: 提菩--空    时间: 2014-6-3 18:01
可以通过toCharArray()先把字符串转成字符数组,然后通过遍历找出字符位置
例:
                String s = "students";
                char[] ch = s.toCharArray();
                for(int i = 0; i < ch.length; i++)
                {
                        if('s' == ch[i])
                                System.out.println("位置是:" + i);
                }
作者: 我叫MT    时间: 2014-6-3 18:09
提菩--空 发表于 2014-6-3 18:01
可以通过toCharArray()先把字符串转成字符数组,然后通过遍历找出字符位置
例:
                String s  ...

楼上正解
作者: More    时间: 2014-6-3 18:21
你用for循环变量字符串就行
  1. public class S{
  2.         public static void main(String[] args) {
  3.                 String str = "super start";
  4.                 for (int i = 0; i < str.length(); i++) {
  5.                         char c=str.charAt(i);
  6.                         if(c=='s'){
  7.                                 System.out.println(i);
  8.                         }
  9.                 }
  10.                
  11.                
  12.         }
  13. }
复制代码

作者: 天外的星    时间: 2014-6-3 20:06
可以通过indexOf(String str, int fromIndex),先从0号位开始查找,查到返回并打印,
然后fromIndex++,跳到下一个开始读取位置,一直循环到indexOf返回-1

  1. public class Test {
  2.     public static void main(String[] args) {
  3.         // TODO Auto-generated method stub
  4.         int index = 0;
  5.         String str = "supser sutring";
  6.         while((index = str.indexOf("s", index))!=-1)
  7.         {
  8.             System.out.println(index);
  9.             index++;
  10.         }
  11.             
  12.     }
  13. }
复制代码

作者: 凌羽猎风    时间: 2014-6-3 21:51
楼上已经有了答案了  主要是要遍历  找到相同的字符  就返回角标
作者: liyin    时间: 2014-6-4 08:26
提菩--空 发表于 2014-6-3 18:01
可以通过toCharArray()先把字符串转成字符数组,然后通过遍历找出字符位置
例:
                String s  ...

谢谢了:handshake
作者: 茂子    时间: 2014-6-4 08:38
关于查询字符串中某个字符或者字符串位置的方式很多 ,楼上的都可以实现,学习了
作者: liyin    时间: 2014-6-4 08:38
More 发表于 2014-6-3 18:21
你用for循环变量字符串就行

谢了:lol:lol
作者: 任黎明    时间: 2014-6-4 08:42
我来学习了!!!!!!!!!!




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