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

Т.е. в цикле ищешь первое вхождение, дальше следущее с первого + длина подстроки.
...
Рейтинг: 0 / 0
11.09.2007, 15:43:48
    #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
11.09.2007, 15:45:38
    #34791677
steevy18
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как подсчитать сколько раз подстрока входит в строку?
"следущее с первого + длина подстроки" читать, как "следущее с предыдущего + длина подстроки" :)
...
Рейтинг: 0 / 0
11.09.2007, 15:49:16
    #34791691
steevy18
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как подсчитать сколько раз подстрока входит в строку?
А можно сделать <строка>.replaceAll("<подстрока>", ""), а потом посчитать изменение длины строки / длину подстроки
...
Рейтинг: 0 / 0
11.09.2007, 15:55:40
    #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
11.09.2007, 16:16:15
    #34791828
fjord
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как подсчитать сколько раз подстрока входит в строку?
можно еще сплитом разбить и посчитать сколько будет элементов в массиве :)
...
Рейтинг: 0 / 0
11.09.2007, 16:36:07
    #34791944
TiG
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
11.09.2007, 17:08:58
    #34792061
fjord
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как подсчитать сколько раз подстрока входит в строку?
fjordможно еще сплитом разбить и посчитать сколько будет элементов в массиве :)
мде, фиша неработает если подстроки идут без пробелов подряд
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / как подсчитать сколько раз подстрока входит в строку? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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