簡體   English   中英

C++:如何在帶有 if 的字符串中找到特定字符? 字符串的“==”等價物是什么,如果有的話?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM