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