一、string判空方法
string是一種經常使用的數據類型,而判空則是開發中一個非常常見的需求。對於string的判空,有以下幾種方法:
1、使用string的empty()方法,判斷字符串是否為空,如果為空則返回true,否則返回false。
string str = "hello"; if (str.empty()) { // do something when str is empty }
2、使用string的長度(length)來判斷是否為空,如果字符串長度為0,則字符串為空。
string str = "hello"; if (str.length() == 0) { // do something when str is empty }
3、使用==運算符來判斷字符串是否等於空字符串。
string str = ""; if (str == "") { // do something when str is empty }
二、string判空工具類
為了方便重複使用和便於維護,我們可以將string的判空方法封裝成一個類中的靜態方法。
class StringUtil { public: static bool isEmpty(const string& str) { return str.empty(); } static bool isBlank(const string& str) { for (size_t i = 0; i < str.length(); ++i) { if (!isspace(str[i])) { return false; } } return true; } }; string str = ""; if (StringUtil::isEmpty(str)) { // do something when str is empty }
三、string判空的最優寫法
使用string的empty()方法是最簡單、最直接的判空方法,而且效率較高,建議使用此方法來判斷字符串是否為空。
string str = "hello"; if (str.empty()) { // do something when str is empty }
四、string判空 is not null or
有時候,我們需要判斷一個字符串不為空時再進行操作,此時用is not null or可以很方便地實現。
string str = "hello"; SELECT * FROM tablename WHERE columnname is not null or columnname = str;
五、判斷string是否為null
由於string是C++的標準庫類型,所以它不存在null的概念。如果想判斷是否為null,則需要使用指針類型。
string* str = nullptr; if (str == nullptr) { // do something when str is null }
六、判斷string是否為中文
判斷字符串中是否存在中文字符是比較常見的需求,可以通過遍歷字符串來判斷是否存在中文字符。
bool hasChineseChar(const string& str) { for (size_t i = 0; i = 0x4e00 && str[i] <= 0x9fa5) { return true; } } return false; } string str = "hello 你好"; if (hasChineseChar(str)) { // do something when str contains chinese char }
七、判斷string是否相等
在C++中,可以使用==運算符判斷兩個字符串是否相等。
string str1 = "hello"; string str2 = "world"; if (str1 == str2) { // do something when str1 equals to str2 }
八、判斷string是不是0
當字符串表示數值時,有時候需要判斷它是否為0。
string str = "0"; if (str == "0") { // do something when str is 0 }
九、判斷string是否為空
使用string的empty()方法可以判斷字符串是否為空。
string str = ""; if (str.empty()) { // do something when str is empty }
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/301367.html