1、indextOf / lastIndextOf
1 public class Test { 2 public static void main(String[] args) { 3 String s = "xXc284gxxxXjdkdX/ohgbokbang/releasehaha"; 4 // 从头开始查找是否存在指定的字符,索引从0开始 //结果如下 5 System.out.println(s.indexOf("c")); //2 6 // 从第四个字符位置开始往后继续查找,包含当前位置 7 System.out.println(s.indexOf("c", 3)); //3 8 //若指定字符串中没有该字符则系统返回-1 9 System.out.println(s.indexOf("y")); //-1 (没有“y”) 10 System.out.println(s.lastIndexOf("x")); //9 (最后一个“x”的位置)
11 System.out.println(s.IndexOf("284gxx")); //3 (无论几个字母,位置都是以第一个字母为准)
注:
1.IndextOf:返回位置信息(从0开始)
lastIndextOf:返回最后匹配的位置信息(从0开始)
2.equls:两个比较的“内容“一致
equals 方法是String类从它的超类Object中继承的, 被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。
对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。 例如:
s1 = new String("abc"); s2 = new String("abc");
对于非字符串变量来说,"=="和"equals"方法的作用是相同的都是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。s1.equals(s2) 是 true
class A { A obj1 = new A(); A obj2 = new A(); } obj1.equals(obj2)是false
3.subString:返回位置信息,从这一位置起,一直到最后
"unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
"emptiness".substring(9) returns "" (an empty string)"hamburger".substring(4,8) returns "urge"
"smiles".substring(1,5) returns "mile"