Java 字符串常用方法

Java判断字符串中是否包含子字符串有三种方法。

  • startsWith()
  • contains()
  • indexOf()

下面分别介绍这三种方法的使用。

startsWith()

startsWith()方法如下:

public boolean startsWith(String prefix, int toffset);
public boolean startsWith(String prefix) ;
参数 prefix 是要包含的子字符串

参数 toffset 表示从哪里开始比较

没有指定toffset 时,从序位0开始比较。

返回值是布尔类型,包含则返回true,不包含则返回false。

例子

String s = "hello,world, yxjc123.com";
System.out.println(s.startsWith("hello"));
System.out.println(s.startsWith("yxjc123"));
System.out.println(s.startsWith("yxjc123", 13));

测试一下

输出

true
false
true

 startsWith只能用于开端比较或者知道序位的比较。

 contains()

contains()方法没有像startsWith()方法那种限制,可以比较任意位置的子字符串。

public boolean contains(CharSequence s) 

参数s是要包含的子字符串。

返回值是布尔类型,包含则返回true,不包含则返回false。

例子

 String s = "hello,world, yxjc123.com";
        System.out.println(s.contains("yxjc123"));;

测试一下

输出

true

 indexOf()

indexOf()用于找到子字符串的位置。

public int indexOf(int ch) ;
public int indexOf(String str, int fromIndex) ;
参数ch是要比较的字符串

参数 fromIndex用于比较的开始位置

包含返回序位,不包含返回-1

例子

String s = "hello,world, yxjc123.com";
System.out.println(s.indexOf("yxjc123"));;
System.out.println(s.indexOf("yxjc123com"));;

测试一下

总结

使用 contains()和 indexOf() 方法判断是否包含子字符串,不用管子字符串的位置,使用起来更加方便。

indexof()方法和Contains()方法都区分大小写

在区分大小写的情况下,Contains()方法效率比Indexof()方法效率高,不区分大小写则反之。