C ++ проходит через каждый символ wstring и заменяет его

Я хочу «проверить» строку и удалить нежелательный символ.

Вот что я хотел бы сделать:

wstring wsInput=L"Some Text $$!$§";

wstring wsNew=L"";

for (int i=0;i<wsInput.size();i++)
{
wstring wsChar=wsInput.CharacterAt(i);
wsChar = ToValidWString(wsChar); // ToValidWString will return L"" if the character is not among the valid characters
wsNew.append(wsChar);
}

return wsNew;

Но нет такой функции «.CharacterAt ()» для wstring.
Я думаю, это не просто так, но мне все равно это нужно.

Может кто-нибудь помочь?

Спасибо.

0

Решение

Вы можете использовать оператор [], Это возвращает wchar, не строка, но мне кажется, это сделает ваш код проще. Итак, чтобы прояснить ситуацию:

for (int i=0;i<wsInput.size();i++)
{
wchar_t wc =wsInput[i]; // sorry for the name it comes from wchar ;)
... do stuff...
}

РЕДАКТИРОВАТЬ: чтобы получить строку, состоящую из i-го символа в строке substr:

for (int i=0;i<wsInput.size();i++)
{
wstring ws = wsInput.substr(i, 1);
... do stuff...
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]