Как узнать все вхождения символа в строке в Java?

192
09 июля 2018, 07:20

Например, имеем строку "кровоточивость", и нужно узнать индекс каждой буквы "о",как это сделать,не переводя строку в массив?

Answer 1
static void indexsCharO(String str){
    for (int i = 0; i < str.length(); i++) {
        Character value = new Character(str.charAt(i));
        if(value.equals(new Character('о')))
            System.out.print(i+" ");
    }
}

Можно сделать также чтоб результат записывался в файл,вносился в вектор и другую коллекцию, массив и что душа пожелает. Версия по короче:

static void indexsCharO(String str){
    for(int i=0; i< str.length(); i++){
        if(str.charAt(i) == 'о') System.out.print(i);
    }
}
Answer 2
public static void getCharPlaces(String word, char inspectChar, int currentIndex ) {
    if(currentIndex < word.length()) {
        int up = word.indexOf(inspectChar, currentIndex) + 1;
        System.out.println("current position = " + (up - 1));
        if(up - 1 == word.lastIndexOf(inspectChar)) return;
        getCharPlaces(word, inspectChar, up);
    }
}

Ну и пример старта

getCharPlaces("кровоточивость", 'о', 0);
READ ALSO
How to get Object&#39;s toString()?

How to get Object's toString()?

Имеется класс BloodCell в очень большой и длинной иерархии классов общего назначенияВажно: все классы по своему определяют toString()

186
Генерация swagger yml в springfox

Генерация swagger yml в springfox

Как из springfox-swagger2 получить yml файл с описанием rest api?

177
В файл записывается только текст до пробела java

В файл записывается только текст до пробела java

Есть вот такая функция, которая вызывается в главном методе, нужно чтобы она записывала в конец существующего файла некоторый текст, но она...

167
Что делать с этой ошибкой? (Android Studio)

Что делать с этой ошибкой? (Android Studio)

// Top-level build file where you can add configuration options common to all sub-projects/modules

212