C++ 检查 UTF8 字符串包含指定的字符
c++ check utf8 string contain specified characters
给定一个utf8字符串,如何知道它包含不允许的指定字符?
要求是utf8字符串只能包含英文字符和中文字符。任何其他字符,如符号、数字、空格、'' ...是不允许的。
剂量标准::正则表达式可以做这项工作吗?
bool legal(const std::string& s) { // s is utf8 string
//??
}
您可以将std::string
转换为 utf32 码位的向量(如此处所述(,然后迭代它们并检查范围(但是我无法提供中文字母的 utf32 值范围,并且从对您的问题的评论来看,这实际上可能是一个问题(。
编辑
如下面的评论中所述,如果您知道需要验证的字符在 2 字节范围内,则可以坚持使用 utf16。
相关文章:
- 计算在同一位置至少包含一个常用字符的不同字符串对
- 无法将字符数组转换为包含 utf-8 字符的字符串
- 如何从 QString 中包含的十六进制值中获取 ASCII 字符?
- 常量数组如何在每个元素中只能包含字符,而 char* 数组能够指向每个元素中的字符串?
- VSCode C++调试文件名中包含中文字符的文件时插件损坏
- 有没有办法搜索向量的元素,<String>然后检查它是否包含特定的字符,如果它确实打印了它
- 尝试使用 indexOf 创建一个 if 语句来检查字符串是否包含字符.有一点麻烦
- 如何制作一个只包含字符的简单加载屏幕
- 如何检查字符串是否包含所有这些:数字、字母和特殊字符
- 如何比较文件中包含的下一个字符
- 是否可以将无符号字符数组reinterpret_cast到仅包含C++中无符号字符成员的结构指针
- 如何获取包含 NULL 字符的外壳代码字符串的长度
- 如果字符串向量包含字符'p',如何检查 c++
- C++ 检查 UTF8 字符串包含指定的字符
- 在 Windows 上,stat 和 GetFileAttributes 对于包含奇怪字符的路径失败
- 无法转换 .CATPart 文件.错误:输入文件路径似乎包含不支持的字符
- 字符串只包含有效的字符?
- 如果必须包含西里尔字符,如何将 char* 转换为 std::string?
- 当字符包含表情符号时如何比较字符?
- cout 打印的字符 [] 包含的字符数超过设置长度