Как найти расположение двух последовательных пробелов в строке - PullRequest
3 голосов
/ 26 февраля 2010

Я хочу проверить, содержит ли моя строка два последовательных пробела. Какой самый простой способ узнать?

Ответы [ 6 ]

6 голосов
/ 26 февраля 2010

Используйте метод find() из std::string. Возвращает специальную константу std::string::npos, если значение не было найдено, поэтому легко проверить:

if (myString.find("  ") != std::string::npos)
{
  cerr << "double spaces found!";
}
1 голос
/ 26 февраля 2010

Это одна из любимых тем Джона Скита: см. Эту презентацию

1 голос
/ 26 февраля 2010
#include <string>

bool are_there_two_spaces(const std::string& s) {
    if (s.find("  ") != std::string::npos) {
        return true;
    } else {
        return false;
    }
}
0 голосов
/ 26 февраля 2010
string s = "foo  bar";
int i = s.find("  ");
if(i != string::npos)
   cout << "Found at: " << i << endl;
0 голосов
/ 26 февраля 2010

Использование C:

#include <cstring>
...
addr = strstr (str, "  ");
...
0 голосов
/ 26 февраля 2010
Make search for "  " in the string.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...