Я хочу «проверить» строку и удалить нежелательный символ.
Вот что я хотел бы сделать:
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.
Я думаю, это не просто так, но мне все равно это нужно.
Может кто-нибудь помочь?
Спасибо.
Вы можете использовать оператор []
, Это возвращает 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...
}
Других решений пока нет …