1. 程式人生 > 其它 >計算字串重複元素的下標位置

計算字串重複元素的下標位置

技術標籤:javajava

package com.xiangxue.jack.pushpull;

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

public class Test11 {

    public static void main(String[] args) {
        String str = "1,2,3,4,1,2,4,2";
        String modelStr1 = "1";
        String modelStr2 =
"2"; //求第2次出現的1 System.out.println("modelStr1==" + getFromIndex(str, modelStr1, 2)); //求第2次出現的2 System.out.println("modelStr2==" + getFromIndex(str, modelStr2, 2)); //求第3次出現的2 System.out.println("modelStr2==" + getFromIndex
(str, modelStr2, 3)); } /** * 計算重複元素第 n個的下標 * @param str 原字串 * @param modelStr 子字串 * @param count 需要計算出現的第幾次 * @return */ public static int getFromIndex(String str, String modelStr, Integer count) { //對子字串進行匹配 Matcher slashMatcher = Pattern.compile
(modelStr).matcher(str); int index = 0; //matcher.find(),嘗試查詢與該模式匹配的輸入序列的下一個子序列 while(slashMatcher.find()) { index++; //當modelStr字元第count次出現的位置 if(index == count){ break; } } //matcher.start(),返回以前匹配的初始索引。 return slashMatcher.start(); } }

執行結果:
在這裡插入圖片描述