C++中字符串處理的常用函數

一、常用的字符串處理方式

C++中的字符串是由字符組成的數組,每個字符都有一個對應的ASCII代碼值,在處理字符串時,我們常用的方式 mainly 有:

1、數組下標訪問:通過下標操作符[]獲取字符串中的某個字符,可以直接對字符進行修改。例如:

    
        string str = "hello world";
        for (int i = 0; i < str.size(); i++) {
            cout << str[i] << " ";
        }
    

2、指針遍歷:利用指針逐個訪問字符串中的字符,注意需要判斷字符串的結束符’\0’,以免指針越界,例如:

    
        char str[] = "hello world";
        char *ptr = str;
        while (*ptr != '\0') {
            cout << *ptr << " ";
            ptr++;
        }
    

3、字符串迭代器:使用迭代器來訪問字符串中的元素,具有安全性能好、代碼讀寫方便的優點。例如:

 
    
        string str = "hello world";
        for (auto it = str.begin(); it != str.end(); it++) {
            cout << *it << " ";
        }
    

二、常用的字符串處理函數

字符串處理函數包括一些可以對字符串進行查找、替換、刪除等操作的函數。常用的字符串處理函數 mainly 有:

1、查找函數find:查找字符串中第一個出現的子串位置,如果找不到則返回-1。例如:

    
        string str = "hello world";
        int pos = str.find("world");
        if (pos != -1) {
            cout << "找到了!位置是:" << pos << endl;
        }
        else {
            cout << "未找到!" << endl;
        }
    

2、替換函數replace:將字符串中的部分子串替換成指定的新串。例如:

    
        string str = "hello world";
        str.replace(6, 5, "China");
        cout << str << endl;
    

3、插入函數insert:將指定字符串插入到目標字符串中的指定位置。例如:

    
        string str = "hello world";
        str.insert(6, "China ");
        cout << str << endl;
    

4、截取函數substr:從指定位置開始,截取指定長度的子串。例如:

    
        string str = "hello world";
        string newStr = str.substr(6, 5);
        cout << newStr << endl;
    

5、刪除函數erase:刪除字符串中的一段子串。例如:

    
        string str = "hello world";
        str.erase(6, 5);
        cout << str << endl;
    

三、字符串幾個常用的處理函數

主要介紹幾個特殊的字符串處理函數,包括大小寫轉換、去掉字符串中的空格、特殊字符處理等。

1、大小寫轉換函數:可以將字符串中的所有字符轉換為大寫或小寫形式,分別對應toupper和tolower函數。例如:

    
        string str = "Hello World";
        transform(str.begin(), str.end(), str.begin(), ::tolower);    // 轉換為小寫字符
        cout << str << endl;
    

2、去空格函數:可以將字符串兩端的空格去除,注意該函數只能去掉兩端的空格,不能去掉中間的空格。例如:

    
        string str = " hello world ";
        int left = str.find_first_not_of(" ");        // 查找左側第一個非空字符
        int right = str.find_last_not_of(" ");        // 查找右側第一個非空字符
        str = str.substr(left, right - left + 1);     // 截取子字符串
        cout << str << endl;
    

3、特殊字符處理函數:可以將字符串中出現的特殊字符轉義成其他字符,例如C++中規定雙引號”需要用\”來表示,單引號’需要用\’來表示。例如:

    
        string str = "I said \"Hello World!\"";
        string newStr;
        for (int i = 0; i < str.size(); i++) {
            if (str[i] == '"') {
                newStr += "\\\"";
            }
            else {
                newStr += str[i];
            }
        }
        cout << newStr << endl;
    

四、string處理字符串常用的方法

string是C++中常用的字符串類型,其常用的處理方法 mainly 有:

1、獲取字符串長度size函數:獲取當前字符串的長度,注意字符串長度不包括結束符’\0’。例如:

    
        string str = "hello world";
        cout << str.size() << endl;
    

2、比較字符串大小compare函數:比較兩個字符串的大小,返回值為0表示兩個字符串相等,為正數表示第一個字符串大於第二個字符串,為負數表示第一個字符串小於第二個字符串。例如:

    
        string str1 = "hello";
        string str2 = "world";
        int res = str1.compare(str2);
        if (res == 0) {
            cout << "兩個字符串相等" < 0) {
            cout << "str1大於str2" << endl;
        }
        else {
            cout << "str1小於str2" << endl;
        }
    

3、清空字符串clear函數:清空當前字符串內容,讓當前字符串變為空字符串。例如:

    
        string str = "hello world";
        str.clear();
        cout << str << endl;
    

4、字符串連接操作+運算符:將兩個字符串連接成一個新的字符串。例如:

    
        string str1 = "hello";
        string str2 = "world";
        string str3 = str1 + " " + str2;
        cout << str3 << endl;
    

5、字符串複製操作=運算符:將一個字符串複製到另一個字符串中。例如:

    
        string str1 = "hello world";
        string str2 = str1;
        cout << str2 << endl;
    

總結

本文主要講解了C++中字符串處理的常用函數,從字符串處理方式、常用函數、特殊字符處理、string類型的方法等四個方面進行了詳細的介紹。在實際的編程過程中,了解這些常用的字符串處理方法,可以使得編程更加高效、方便。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/286844.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-23 03:48
下一篇 2024-12-23 03:48

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Python中將字符串轉化為浮點數

    本文將介紹在Python中將字符串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、eval函數 在Python中,最簡單、最常用的將字符串轉化為…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 單片機打印函數

    單片機打印是指通過串口或並口將一些數據打印到終端設備上。在單片機應用中,打印非常重要。正確的打印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的打印數據可以幫助我們快速…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29

發表回復

登錄後才能評論