4
我想剥离字符串中的任何非字母数字字符。我现在正在使用以下功能,但它肯定不适用于多种语言。有没有i18n友好的做法?i18n友好的剥离非字母数字字符的方式
static string StripNonAlphaNum(const string& token) {
string s = token;
// strip away non-alphanumeric parts using a RE expression
RE2::GlobalReplace(&s, "[^A-Za-z0-9]", "");
return s;
}
感谢您的输入。我试过朝鲜语 - std :: wstring token = L“1k2..dkfjls한ie ie =글= _ = ki38。;; 12_93” - 我不确定它是否有效。它吐出“1k2dkfjlsieki381293” – zoolook
@zoolook哪些语言环境是这样的?请注意,您可以使用['std :: isalnum(std :: locale)'](http://en.cppreference.com/w/cpp/locale/isalnum),您可以在其中设置语言环境。 – 101010
我尝试http://ideone.com/nZj5gE,但没有成功。我错过了什么? – zoolook