91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何在c++中實現字符串的子串查找

c++
小樊
108
2024-09-25 07:36:16
欄目: 編程語言

在 C++ 中,可以使用 std::string 類的成員函數 find() 來實現字符串的子串查找。

find() 函數的原型如下:

size_t find(const std::string& str, size_t pos = 0) const;

其中,str 是要查找的子串,pos 是可選參數,表示從哪個位置開始查找。如果省略該參數,則從字符串的開頭開始查找。

函數返回子串在字符串中第一次出現的位置,如果沒有找到則返回 std::string::npos

下面是一個簡單的示例代碼:

#include <iostream>
#include <string>

int main() {
    std::string str("hello world");
    std::string sub("world");

    size_t pos = str.find(sub);

    if (pos != std::string::npos) {
        std::cout << "子串的起始位置為:" << pos << std::endl;
    } else {
        std::cout << "未找到子串" << std::endl;
    }

    return 0;
}

輸出結果為:

子串的起始位置為:6

注意,find() 函數是區分大小寫的。如果要執行不區分大小寫的查找,可以在查找之前將字符串轉換為小寫(或大寫):

std::string str("Hello World");
std::string sub("world");

std::transform(str.begin(), str.end(), str.begin(), ::tolower);
std::transform(sub.begin(), sub.end(), sub.begin(), ::tolower);

size_t pos = str.find(sub);

if (pos != std::string::npos) {
    std::cout << "子串的起始位置為:" << pos << std::endl;
} else {
    std::cout << "未找到子串" << std::endl;
}

輸出結果為:

子串的起始位置為:6

0
襄城县| 郁南县| 岗巴县| 调兵山市| 大石桥市| 焉耆| 吴旗县| 博罗县| 安阳市| 白沙| 五河县| 正安县| 深州市| 宁德市| 元阳县| 石柱| 赤城县| 金华市| 铜鼓县| 潜山县| 唐河县| 龙海市| 孝感市| 凤台县| 伊通| 墨玉县| 吴川市| 扬中市| 新巴尔虎右旗| 伊春市| 金平| 潮州市| 苏尼特左旗| 睢宁县| 甘泉县| 景德镇市| 景宁| 灵宝市| 腾冲县| 陵川县| 汤阴县|