- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在处理一个字符串,并尝试在它不是字母数字(不是 a-z、A-Z 和 0-9)时将其分解。我发现 isalnum 是一个有用的函数。
例如,如果我有字符串“bob-michael !#mi%@pa hi3llary-tru1mp”
vector 应包含:bob、michael、mi、pa、hi3llary 和 tru1mp。
我当前的代码是:
vector<string> result;
string something = "bob-michael !#mi%@pa hi3llary-tru1mp";
stringstream pie(something);
//not sure what to do after this point(I know, not a lot. See below for my current thinking)
我的想法是使用一个循环,当 isalnum 结果为 1 时继续向前,如果 isalnum 结果为 0,则将我目前拥有的任何内容插入字符串 vector 。也许我可以使用 isalnum 作为 delim?我很难接受我的想法并写下这篇文章。谁能指出我正确的方向?谢谢!
编辑:感谢大家的帮助。
最佳答案
也许是这样的:
std::vector<std::string> result;
std::string something = "bob-michael !#mi%@pa hi3llary-tru1mp";
std::regex token("[A-Za-z0-9]+");
std::copy(
std::sregex_token_iterator(something.begin(), something.end(), token),
std::sregex_token_iterator(),
std::back_inserter(result));
关于c++ - 用isalnum拆分字符串并存储到字符串 vector 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40540980/
我问这个是对 this 的跟进问题。上一个问题几乎是三年前问的,所以我虽然问一个新的问题会更好。 我链接到的那个问题的症结在于 OP 试图运行以下代码行: find_if(s.begin(), s.e
您好! 这次让我们减少过多的介绍,直奔主题。 我在 C++ 中使用 isalnum 方法时遇到问题。 代码: int playAgainst = 0; do { cout > playAgai
char dict[N][M]; for(i = 0; i < N; i++) { do { printf("enter word at position: %d\n"
我正在尝试转换一些代码,这些代码旨在从命令行参数中删除除“_”之外的所有非数字字符,除了我试图让代码接受来自常规字符串,我尝试将代码转换为接受字符串,但我一直收到此错误 words.c:9: warn
我正在尝试确定我的字符串中的每个字符是否都是字母数字。我的编译器没有 isalnum 函数。 我的函数在下面,my_struct 有一个大小为 6 的字符数组 (uint8 bom_pn[6]) ..
对于赋值,我使用 std::isalnum 来确定输入是字母还是数字。任务的重点是创建一个“字典”。它在小段落上效果很好,但在文本页面上却很糟糕。这是我正在使用的代码片段。 custom::Stri
我有一个非常简单的程序,我在其中使用 isalnum 函数来检查字符串是否包含字母数字字符。代码是: #include "stdafx.h" #include #include #include
我尝试检查字符串的字符是否为 alnum,然后检查字符串是否仅包含 alnum 字符以打印字符串。当我运行该程序时,什么也没有发生。我有另一个程序,我用它从输入中读取我想要的文本,然后用 FIFO 发
我只有isalnum_t函数 ctype ;我期望功能isalnum那么发生了什么?我包括ctype这个函数是我需要检查字母和数字被声明为 isalnum_t(int, _locale_t) 。网上查
我正在尝试用 g++ 编译一个在 Visual Studio 2012 中编译良好的程序。 我收到错误:error: no matching function for call to ‘ptr_fun
我正在使用 g++ 4.7。 我想做的是这个, find_if(s.begin(), s.end(), isalnum); 其中 isalnum 在 cctype 中定义,s 是一个字符串。 logm
我正在用法语编程,因此,我需要使用重音字符。我可以使用输出它们 #include 和 setlocale(LC_ALL, "") , 但是当我读重音字符时似乎有问题。这是我用来说明问题的简单示例: #
我要拆分 "Use a regexp that matches any combination\nthat satisfies Python's\n\nisalphanumeric() or issp
我写了一个扩展 isalnum 的函数来识别 UTF-8 编码的变音符号。 是否有更优雅的方法来解决这个问题? 代码如下: bool isalnumlaut(const char character)
我用谷歌搜索了我的问题,也许我没有使用正确的搜索词,因为我没有找到解决我问题的方法。 我想做的是使用 push 和 pop 方法和模板做一个后缀计算器表达式。 教授的话 Input The input
我是一名优秀的程序员,十分优秀!