Java入门第75课——在一个字符串中检索另外一个字符串

素颜马尾好姑娘i 2023-06-07 10:40 213阅读 0赞

问题

在上一案例的基础上,检索一个字符串在另一个字符中的索引位置,即,现有字符串”I can because i think i can”,检索字符串”can”在此字符串中出现的索引位置。详细要求如下:

1)检索字符串”can”在此字符串中第一次出现的索引位置。

2)检索字符串”can”在此字符串中最后一次出现的索引位置。

3)从索引位置为6开始,检索字符串”can”在此字符串第一次出现的索引位置。

4)检索字符串”Can”在此字符串中第一次出现的索引位置。注意字符串”Can”中的字母C为大写。

方案

1)定义字符串对象str,初始化为”I can because i think i can”,接着,调用indexOf方法,检索字符串”can”在此字符串中第一次出现的索引位置。该方法声明如下:

  1. int indexOf(String str)

以上indexOf方法表示在字符串中索引str,返回其第一出现的索引位置,如果找不到则返回-1。

2)调用lastIndexOf的方法,检索字符串”can”在此字符串中最后一次出现的索引位置。该方法声明如下:

  1. int lastIndexOf(String str)

lastIndexOf方法和indexOf方法类似,只是当str在字符串中多次出现时,将返回最后一个出现的索引位置,如果找不到则返回-1.

3)调用重载的indexOf方法,从索引位置为6开始,检索字符串”can”在此字符串中第一次出现的索引位置。该方法声明如下:

  1. int indexOf(String str,int fromIndex)

以上方法类似indexOf(String),但是是从字符串的fromIndex位置开始检索。

4)调用indexOf(String str)检索字符串”Can”在此字符串中第一次出现的索引位置,如果找不到则返回-1。

步骤

实现此案例需要按照如下步骤进行。

步骤一:使用indexOf(String str)

首先,在类TestString中,添加测试方法testIndexOf。在该方法中,首先定义字符串对象str,初始化为”I can because i think i can”,接着,调用indexOf方法,检索字符串”can”在字符串str中第一次出现的索引位置。代码如下所示:

  1. package day01;
  2. import org.junit.Test;
  3. public class TestString{
  4. /**
  5. *在一个字符串中检索另外一个字符串
  6. */
  7. @Test
  8. public void testIndexOf(){
  9. String str="I can because i think i can";
  10. int index=str.indexOf("can");
  11. System.out.println(index);//2
  12. }
  13. }

运行testIndexOf方法,控制台输出结果如下:

  1. 2

从输出结果可以看出,字符串”can”在字符串中第一次出现的索引位置为2。

步骤二:使用lastIndexOf方法

调用lastIndexOf的用法,检索字符串”can”在字符串str中最后一次出现的索引位置。代码如下所示:

  1. package day01;
  2. import org.junit.Test;
  3. public class TestString{
  4. /**
  5. *在一个字符串中检索另外一个字符串
  6. */
  7. @Test
  8. public void testIndexOf(){
  9. String str="I can because i think i can";
  10. int index=str.indexOf("can");
  11. System.out.println(index);//2
  12. index=str.lastIndexOf("can");
  13. System.out.println(index);//24
  14. }
  15. }

运行testIndexOf方法,控制台输出结果如下:

  1. 2
  2. 24

从输出结果可以看出,字符串”can”在str中最后一次出现的索引位置为24。

步骤三:使用indexOf(String str,int fromIndex)

调用重载的indexOf方法,从索引位置为6开始,检索字符串”can”在字符串str中第一次出现的索引位置。代码如下所示:

  1. package day01;
  2. import org.junit.Test;
  3. public class TestString{
  4. /**
  5. *在一个字符串中检索另外一个字符串
  6. */
  7. @Test
  8. public void testIndexOf(){
  9. String str="I can because i think i can";
  10. int index=str.indexOf("can");
  11. System.out.println(index);//2
  12. index=str.lastIndexOf("can");
  13. System.out.println(index);//24
  14. index=str.indexOf("can",6);
  15. System.out.println(index);//24
  16. }
  17. }

运行testIndexOf方法,控制台输出结果如下:

  1. 2
  2. 24
  3. 24

从输出结果可以看出,从索引位置6开始,字符串”can”在str中第一次出现的索引位置为24。

步骤四:使用indexOf(String str),要检索的字符串不存在的情况

调用indexOf(String str)检索字符串”Can”在此字符串中第一次出现的索引位置,如果找不到则返回-1。代码如下所示:

  1. package day01;
  2. import org.junit.Test;
  3. public class TestString{
  4. /**
  5. *在一个字符串中检索另外一个字符串
  6. */
  7. @Test
  8. public void testIndexOf(){
  9. String str="I can because i think i can";
  10. int index=str.indexOf("can");
  11. System.out.println(index); //2
  12. index=str.lastIndexOf("can");
  13. System.out.println(index); //24
  14. index=str.indexOf("can",6);
  15. System.out.println(index); //24
  16. index=str.indexOf("Can");
  17. System.out.println(index); //-1
  18. }
  19. }

运行testIndexOf方法,控制台输出结果如下:

  1. 2
  2. 24
  3. 24
  4. -1

从输出结果可以看出,控制台的输出结果为-1,说明字符串”Can”在str中不存在。

关注公众号,回复”string”即可获取string字符串视频

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hvdWp1bmthbmczNjM_size_16_color_FFFFFF_t_70

发表评论

表情:
评论列表 (有 0 条评论,213人围观)

还没有评论,来说两句吧...

相关阅读