str.find('X') - 的反义词找到std :: string中与特定char不同的第一个字符的最有效方法是什么?如果我有一个主要由X'es组成的字符串,但在某些时候还有另一个字符 - 我如何快速找到它?不同于“X”的第一个字符的搜索字符串
0
A
回答
5
std::string str = "XXXXXXXXXXXXXXX.XXXXXXXXXXX";
size_t index = str.find_first_not_of('X');
但是,一个普通的旧for循环将一样好。
或者,如果你想要一个迭代器,而不是一个指标,或许是这样的:
std::string::iterator = std::find_if(str.begin(), str.end(),
[](char c){ return c != 'X'; });
0
我认为最有效的方法是迭代字符串,并将每个字符与'X'
进行比较,返回第一个不同的字符。
没有任何关于字符串的预先知识,我没有看到比O(n)
更好的方法,并且连续调用find('X')
可能比只遍历字符更糟糕。
相关问题
- 1. 某个字符的搜索字符串
- 2. 提取字符串中给定搜索字符串周围的X个字符
- 3. T-SQL - 如何搜索字符串中的第n个字符
- 4. 搜索字符串内的字符串
- 5. 搜索字符串中的字符串
- 6. 根据字符串列选择不同的第一个字符
- 7. 剥字符串的第一个字符
- 8. 搜索一个字符串的斑点
- 9. 如何在一个字符串中搜索两个字符串?
- 10. 搜索变长,分隔字符串基于另一个字符串的位置
- 11. 字符串的第一个字符和最后一个字符
- 12. sed命令来搜索字符串和搜索的字符串
- 13. 在字符串列表中搜索相同的子字符串
- 14. 搜索特定字符的字符串
- 15. 搜索字符串中的字符
- 16. 数组按第一个字符搜索
- 17. PHP - 搜索类似于字符串的字符串
- 18. 搜索多个字符串
- 19. AWK:在第一个文件搜索字符串对第二
- 20. 搜索内部字符不一致但外部字符一致的字符串
- 21. 搜索一个字符串“datatoFind”超出第一个出现
- 22. 字符串中第一个字符的T-SQL索引
- 23. VBA搜索字符串,字符串
- 24. Python:搜索一个字符串的重复字符变量
- 25. 搜索字符串在一个字符串
- 26. 搜索特定字符串在另一个字符串
- 27. CSV:搜索字符串并用另一个字符串
- 28. R:搜索另一个字符串中的一个字符串中的字,并返回不匹配的字
- 29. 搜索一个字符串,添加一个字符串,并删除一个文件中的字符串
- 30. 搜索字符串
@dribeas有接受单个字符,也超载。 – jrok 2012-08-07 21:31:50