Java如何找到一個單詞的每一次匹配?

2019-10-16 22:25:27

在Java程式設計中,如何查詢字串中特定單詞的最後一個索引?

以下範例演示如何使用Matlass類的matchet.find()方法和Pattern類的Patter.compile()方法查詢字串中指定詞組最後一個出現的索引。

package com.yiibai;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class LastIndexWord {
   public static void main(String args[]) {
      String candidateString = "This is a Java example.This is another Java example.";
      Pattern p = Pattern.compile("Java");

      Matcher matcher = p.matcher(candidateString);
      matcher.find();
      int nextIndex = matcher.end();

      System.out.print("The last index of Java is:");
      System.out.println(nextIndex);
   }
}

上述程式碼範例將產生以下結果 -

The last index of Java is:14

範例-2

以下是另一個範例,用來計算字串中指定單詞的最後一個出現的索引。

package com.yiibai;


import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class LastIndexWord2 { 
   public static void main(String args[]) {
      String s1 = "Java is the one of best languagues, I like Java.";
      Pattern p1 = Pattern.compile("Java");

      Matcher m1 = p1.matcher(s1);
      m1.find();
      int nextIndex = m1.end();

      System.out.print("The last index is:");
      System.out.println(nextIndex);
   }
}

上述程式碼範例將產生以下結果 -

The last index is:4