Как посчитать количество подстроки из раскола в Java - PullRequest
5 голосов
/ 29 февраля 2012

У меня есть этот кусок кода в моем классе Java

mystring  = mysuperstring.split("/");

Я хочу знать, сколько подстрок создается из разбиения.

В обычной ситуации, если я хочу получить доступ к первой подстроке, я просто пишу

mystring[0];

Кроме того, я хочу знать, существует mystring[5] или нет.

Ответы [ 5 ]

13 голосов
/ 29 февраля 2012

Я хочу знать, сколько подстрок создается из разбиения.

Поскольку mystring является массивом, вы можете просто использовать mystring.length для получения количества подстрок.

Кроме того, я хочу знать, существует mystring[5] или нет.

Для этого:

if (mystring.length >= 6) { ... }
10 голосов
/ 29 февраля 2012
mystring  = mysuperstring.split("/");
int size = mystring.length;

помните, что массивы индексируются нулем, поэтому, когда length = 5, последний элемент будет проиндексирован с 4.

2 голосов
/ 06 сентября 2014

Это простой способ подсчета подстрок

word.split('/').length;

Пример этой реализации вы можете увидеть здесь .

0 голосов
/ 29 февраля 2012

Я думаю, что вы должны прочитать о split и array, пожалуйста, найдите ссылки.

если вы читаете о функция разделения , она возвращает Array of String.

и теперь вы должны прочитать о Массив и его размер

0 голосов
/ 29 февраля 2012

Попробуйте и скажите, работает ли он.

import java.util.regex.Pattern;

public class CountSubstring {
    public static int countSubstring(String subStr, String str){
        // the result of split() will contain one more element than the delimiter
        // the "-1" second argument makes it not discard trailing empty strings
        return str.split(Pattern.quote(subStr), -1).length - 1;
    }

    public static void main(String[] args){
        System.out.println(countSubstring("th", "the three truths"));
        System.out.println(countSubstring("abab", "ababababab"));
        System.out.println(countSubstring("a*b", "abaabba*bbaba*bbab"));
    }
}
...