迅速学会字符串查找与替换 | 带你学《Java面向对象编程》之三十三

上一篇:教你成为字符串连连看高手 | 带你学《Java面向对象编程》之三十二
【本节目标】
通过阅读本节内容,你将对字符串查找、替换相关的方法有了初步的了解,学会灵活使用相关的方法解决实际操作中遇到的各种需求。

字符串查找

从一个完整的字符串中查找子字符串的存在就属于字符串查找操作,在String类中一共提供有如下的几个查找方法。

No. 方法名称 类型 描述
01 public boolean contains(String s) 普通 判断子字符串是否存在
02 public int indexOf(String str) 普通 从头查找指定字符串的位置,找不到返回-1
03 public int indexOf(String str, int fromIndex) 普通 从指定位置查找指定字符串的位置
04 public int lastIndexOf(String str) 普通 由后向前查找指定字符串的位置
05 public int lastIndexOf(String str, int fromIndex) 普通 从指定位置由后向前查找指定字符串的位置
06 public boolean startsWith(String prefix) 普通 判断是否以指定的字符串开头
07 public boolean startsWith(String prefix, int toffset) 普通 由指定位置判断是否以指定的字符串开头
08 public boolean endsWith(String suffix) 普通 是否以指定的字符串结尾

范例:判断子字符串是否存在

public class StringDemo{
   public static void main(String args[]) {
       String str = “www.mldn.cn” ;
       System.out.println(str.contains(“mldn”)) ;    //true
       System.out.println(str.contains(“hello”)) ;    //false
   }      
}

此方法的操作相对而言比较直观一些,但是这个方法是从JDK1.5之后开始追加道程序中的功能。在JDK1.5之前如果要进行数据的查询往往只能够依靠indexOf()方法来完成。
范例:判断字符串是否存在

public class StringDemo{
   public static void main(String args[]) {
       String str = “www.mldn.cn” ;
       System.out.println(str.indexOf(“mldn”)) ;    //4,在第四个位置
       System.out.println(str.indexOf(“hello”)) ;    //-1
       if (str.indexOf(“mldn”) != -1) {
          System.out.println(“数据存在”) ;      //数据存在
       }
   }      
}

indexOf()是为了进行子字符串的查询,在一些开发之中就可以利用此形式来进行一些索引的确定。indexOf()是由前向后查找的,也可以由后向前查找。
范例:使用lastIndexOf()查找

public class StringDemo{
   public static void main(String args[]) {
       String str = “www.mldn.cn” ;
       System.out.println(str.lastIndexOf(“.”)) ;   //8
       System.out.println(str.lastIndexOf(“.”,5)) ;  //3
   }      
}

在进行字符串查找的时候也需要判断开头或结尾的操作。
范例:判断是否以指定的字符串开头或结尾

public class StringDemo{
   public static void main(String args[]) {
       String str = “**@@www.mldn.cn##” ;
       System.out.println(str.startsWith(“**”)) ;   //true
       System.out.println(str.startsWith(“@@”,2)) ; //true
       System.out.println(str.endsWith (“##”)) ;  //true
   }      
}

后面的许多设计都需要它的支持。

字符串替换

所谓的字符串替换指的是可以通过一个指定的内容进行指定字符串的替换显示,对于替换的方法主要有两个。

No. 方法名称 类型 描述
01 public String replaceAll(String regexString replacement) 普通 进行全部替换
02 public String replaceFirst(String regex, String replacement) 普通 替换首个

范例:实现替换处理

public class StringDemo{
   public static void main(String args[]) {
       String str = “helloworld” ;
       System.out.println(str.replaceAll(“l” , “X”)) ;     //heXXoworXd
       System.out.println(str.replaceFirst (“l” , “X”)) ;    //heXloworld
   }      
}

替换在之后会有更加详细的讲解,并且在开发中,尤其是设计的时候替换很重要。
想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:详解字符串拆、截、格式化之法 | 带你学《Java面向对象编程》之三十四
更多Java面向对象编程文章查看此处

上一篇:tomcat注册成windows服务 (截图说明一目了然)


下一篇:数据结构面试之十四——字符串的模式匹配