Java эквивалент для C ++ «std :: string :: find_first_not_of» - PullRequest
0 голосов
/ 16 марта 2020

Есть ли Java эквивалент для C ++ "std :: string :: find_first_not of"?

У меня есть:

std::string path = "some path";
std::string eol = "some text";

size_t nextLinePos = path.find_first_not_of("\r\n", eol);

Как я могу сделать это на Java ?

Ps: Для std::find_first_of я использую эту функцию:

    public static int findFirstOf(String findIn, String letters, int position)
    {
         Pattern pattern = Pattern.compile("[" + letters + "]");
         Matcher matcher = pattern.matcher(findIn);
         if (matcher.find()) 
         {
             position = matcher.start();
         }

         return position;
    }

Может быть, здесь нужно что-то изменить?

1 Ответ

1 голос
/ 16 марта 2020

Я думаю, вы можете написать это очень простым способом:

static int findFirstNotOf(String searchIn, String searchFor, int searchFrom) {
    char[] chars = searchFor.toCharArray();
    boolean found;
    for (int i = searchFrom; i < searchIn.length(); i++) {
        found = true;
        for (char c : chars) {
            if (searchIn.indexOf(c) == -1) {
                found = false;
            }
        }
        if (!found) {
            return i;
        }
    }
    return -1;
}

Я ссылаюсь на описанную функцию здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...