鍍金池/ 教程/ Java/ Java字符串搜索
Java int數(shù)據(jù)類型
Java字符串開關(guān)(switch用法)
Java byte數(shù)據(jù)類型
Java字符串轉(zhuǎn)換
Java long數(shù)據(jù)類型
Java下劃線數(shù)字面量
Java可變長度數(shù)組
Java字符串算法
Java double數(shù)據(jù)類型
Java字符串搜索
Java boolean數(shù)據(jù)類型
Java原始數(shù)據(jù)類型
Java布爾包裝類
Java char數(shù)據(jù)類型
Java字符串比較
Java StringBuilder和StringBuffer用法
Java數(shù)據(jù)類型教程
Java數(shù)組復(fù)制
Java字符串編輯(修剪字符串)
Java字符數(shù)據(jù)類型
Java數(shù)組類型
Java數(shù)組參數(shù)
Java無符號數(shù)據(jù)類型
Java數(shù)組元素
Java字符串字符
Java字符串創(chuàng)建和長度
Java數(shù)值類型包裝器
Java自動(dòng)裝箱和拆箱
Java數(shù)據(jù)類型簡介
Java short數(shù)據(jù)類型
Java字符串類型
Java float數(shù)據(jù)類型
Java多維數(shù)組
Java數(shù)據(jù)類型包裝器

Java字符串搜索

可以使用indexOf()lastIndexOf()方法獲取一個(gè)字符或字符串在另外一個(gè)字符串中的的索引。例如,

public class Main {
  public static void main(String[] args) {
    String str = new String("Apple");

    int index = str.indexOf('p'); // index will have a value of 1
    System.out.println(index);

    index = str.indexOf("pl"); // index will have a value of 2
    System.out.println(index);
    index = str.lastIndexOf('p'); // index will have a value of 2
    System.out.println(index);

    index = str.lastIndexOf("pl"); // index will have a value of 2
    System.out.println(index);

    index = str.indexOf("k"); // index will have a value of -1
    System.out.println(index);
  }
}

上面的代碼生成以下結(jié)果。

1
2
2
2
-1

indexOf()方法從字符串的開頭開始搜索字符或字符串,并返回第一個(gè)匹配的索引。lastIndexOf()方法從末尾開始逆向匹配字符或字符串,并返回第一個(gè)匹配的索引。如果在字符串中沒有找到字符或字符串,這些方法返回-1。

匹配字符串的開始和結(jié)束

startsWith()檢查字符串是否以指定的參數(shù)開頭,而endsWith()檢查字符串是否以指定的字符串參數(shù)結(jié)尾。
兩個(gè)方法都返回一個(gè)布爾值。

public class Main {
  public static void main(String[] args) {
    String str = "This is a test";

    // Test str, if it starts with "This"
    if (str.startsWith("This")) {
      System.out.println("String starts with  This");
    } else {
      System.out.println("String does  not  start with  This");
    }

    // Test str, if it ends with "program"
    if (str.endsWith("program")) {
      System.out.println("String ends  with  program");
    } else {
      System.out.println("String does  not  end  with  program");
    }

  }
}

上面的代碼生成以下結(jié)果。

String starts with  This
String does  not  end  with  program