[英]C++: How can I find a specific character in a string with an if? What is the "==" equivalent for strings, if there is one?
例如,我想檢測字符串中的負數。 我不確定將 char 轉換為 const char* 是否可行(因為這樣做會很痛苦,因為那時我不知道它會如何影響我的其余代碼。有沒有辦法檢查是否有任何input[i] 的值,它“等於”破折號/負數?
#include <iostream>
#include <string>
#define LOG(x) std::cout<<x<<std::endl;
char solveBIG(std::string input) {
for (int i = 0; i < input.size(); i += 2) {
if (input[i] = "-") {
//
}
}
}
int main() {
std::string example1 = {"1 2 3 - 5"};
LOG(solveBIG(example1))
}
您需要小心區分運算符=
和==
。 第一個用於 賦值,第二個用於相等的 比較運算符。
你把它弄混了一點。
現在,如何檢測字符串中的“-”。
解決方案:您將遍歷字符串並將字符串中的每個字符與“-”字符進行比較。
更多解釋:
在許多編程語言中,所謂的循環用於執行或重復代碼塊。
或者對“某事”進行迭代。 因此循環也稱為迭代語句
C++ 也有循環或迭代語句。 基本的循環結構是
請單擊鏈接並閱讀 C++ 參考中的說明。 您可以使用其中任何一個來解決您的問題。
此外,您需要知道string
是一個容器。 容器意味着這種類型的變量包含幾乎任何類型的其他元素。
例如, string
包含字符。
示例:如果您有一個等價於“Hello”的字符串,則它包含字符“h”、“e”、“l”、“l”、“o”。
一些容器的另一個不錯的特性是,它們有一個索引運算符,或者更好地說,一個下標運算符[]
。 因此,如果您想訪問字符串中的字符,您可以簡單地將變量名與下標運算符中指定的索引一起使用。
非常重要:C++ 中的索引從 0 開始。因此字符串中的第一個string
位於索引 0 處。示例:
std::string test = "Hello";
std::cout << test[0];
將打印H
有了以上所有知識,我們現在可以輕松解決您的問題。 我們將遍歷字符串中的所有字符,然后檢查字符是否為字母字符。 在這種情況下,我們將替換它。
許多可能的實現之一:
for (int i = 0; i < input.size(); ++i) {
if (input[i] == "-") {
//
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.