powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / как подсчитать сколько раз подстрока входит в строку?
9 сообщений из 9, страница 1 из 1
как подсчитать сколько раз подстрока входит в строку?
    #34791598
ups182
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как подсчитать сколько раз подстрока входит в строку?
...
Рейтинг: 0 / 0
как подсчитать сколько раз подстрока входит в строку?
    #34791663
steevy18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у indexOf () вроде можно указать с какого места искать.

Т.е. в цикле ищешь первое вхождение, дальше следущее с первого + длина подстроки.
...
Рейтинг: 0 / 0
как подсчитать сколько раз подстрока входит в строку?
    #34791670
steevy18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
class java.lang.String

int indexOf(String str, int fromIndex)

Returns the index within this string of the first occurrence of the specified substring, starting at the specified index.
...
Рейтинг: 0 / 0
как подсчитать сколько раз подстрока входит в строку?
    #34791677
steevy18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"следущее с первого + длина подстроки" читать, как "следущее с предыдущего + длина подстроки" :)
...
Рейтинг: 0 / 0
как подсчитать сколько раз подстрока входит в строку?
    #34791691
steevy18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно сделать <строка>.replaceAll("<подстрока>", ""), а потом посчитать изменение длины строки / длину подстроки
...
Рейтинг: 0 / 0
как подсчитать сколько раз подстрока входит в строку?
    #34791722
steevy18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
org.apache.commons.lang.StringUtils.java:

// Count matches
//-----------------------------------------------------------------------
/**
* <p>Counts how many times the substring appears in the larger String.</p>
*
* <p>A <code>null</code> or empty ("") String input returns <code>0</code>.</p>
*
* <pre>
* StringUtils.countMatches(null, *) = 0
* StringUtils.countMatches("", *) = 0
* StringUtils.countMatches("abba", null) = 0
* StringUtils.countMatches("abba", "") = 0
* StringUtils.countMatches("abba", "a") = 2
* StringUtils.countMatches("abba", "ab") = 1
* StringUtils.countMatches("abba", "xxx") = 0
* </pre>
*
* @param str the String to check, may be null
* @param sub the substring to count, may be null
* @return the number of occurrences, 0 if either String is <code>null</code>
*/
public static int countMatches(String str, String sub) {
if (isEmpty(str) || isEmpty(sub)) {
return 0;
}
int count = 0;
int idx = 0;
while ((idx = str.indexOf(sub, idx)) != -1) {
count++;
idx += sub.length();
}
return count;
}
...
Рейтинг: 0 / 0
как подсчитать сколько раз подстрока входит в строку?
    #34791828
fjord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно еще сплитом разбить и посчитать сколько будет элементов в массиве :)
...
Рейтинг: 0 / 0
как подсчитать сколько раз подстрока входит в строку?
    #34791944
TiG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
steevy18org.apache.commons.lang.StringUtils.java:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
    // Count matches
    //-----------------------------------------------------------------------
    /**
     * <p>Counts how many times the substring appears in the larger String.</p>
     *
     * <p>A <code>null</code> or empty ("") String input returns <code>0</code>.</p>
     *
     * <pre>
     * StringUtils.countMatches(null, *)       = 0
     * StringUtils.countMatches("", *)         = 0
     * StringUtils.countMatches("abba", null)  = 0
     * StringUtils.countMatches("abba", "")    = 0
     * StringUtils.countMatches("abba", "a")   = 2
     * StringUtils.countMatches("abba", "ab")  = 1
     * StringUtils.countMatches("abba", "xxx") = 0
     * </pre>
     *
     * @param str  the String to check, may be null
     * @param sub  the substring to count, may be null
     * @return the number of occurrences, 0 if either String is <code>null</code>
     */
     public   static   int  countMatches(String str, String sub) {
         if  (isEmpty(str) || isEmpty(sub)) {
             return   0 ;
        }
         int  count =  0 ;
         int  idx =  0 ;
         while  ((idx = str.indexOf(sub, idx)) != - 1 ) {
            count++;
            idx += sub.length();
        }
         return  count;
    }

Как думаете, сколько раз подстрока ABAB входит в строку ABABAB ? ;-)
...
Рейтинг: 0 / 0
как подсчитать сколько раз подстрока входит в строку?
    #34792061
fjord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fjordможно еще сплитом разбить и посчитать сколько будет элементов в массиве :)
мде, фиша неработает если подстроки идут без пробелов подряд
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / как подсчитать сколько раз подстрока входит в строку?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]