一、string判空方法
string是一種經(jīng)常使用的數(shù)據(jù)類型,而判空則是開(kāi)發(fā)中一個(gè)非常常見(jiàn)的需求。對(duì)于string的判空,有以下幾種方法:
1、使用string的empty()方法,判斷字符串是否為空,如果為空則返回true,否則返回false。
string str = "hello";
if (str.empty()) {
// do something when str is empty
}
2、使用string的長(zhǎng)度(length)來(lái)判斷是否為空,如果字符串長(zhǎng)度為0,則字符串為空。
string str = "hello";
if (str.length() == 0) {
// do something when str is empty
}
3、使用==運(yùn)算符來(lái)判斷字符串是否等于空字符串。
string str = "";
if (str == "") {
// do something when str is empty
}
二、string判空工具類
為了方便重復(fù)使用和便于維護(hù),我們可以將string的判空方法封裝成一個(gè)類中的靜態(tài)方法。
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判空的最優(yōu)寫(xiě)法
使用string的empty()方法是最簡(jiǎn)單、最直接的判空方法,而且效率較高,建議使用此方法來(lái)判斷字符串是否為空。
string str = "hello";
if (str.empty()) {
// do something when str is empty
}
四、string判空 is not null or
有時(shí)候,我們需要判斷一個(gè)字符串不為空時(shí)再進(jìn)行操作,此時(shí)用is not null or可以很方便地實(shí)現(xiàn)。
string str = "hello";
SELECT * FROM tablename WHERE columnname is not null or columnname = str;
五、判斷string是否為null
由于string是C++的標(biāo)準(zhǔn)庫(kù)類型,所以它不存在null的概念。如果想判斷是否為null,則需要使用指針類型。
string* str = nullptr;
if (str == nullptr) {
// do something when str is null
}
六、判斷string是否為中文
判斷字符串中是否存在中文字符是比較常見(jiàn)的需求,可以通過(guò)遍歷字符串來(lái)判斷是否存在中文字符。
bool hasChineseChar(const string& str) {
for (size_t i = 0; i < str.length(); ++i) {
if (str[i] >= 0x4e00 && str[i] <= 0x9fa5) {
return true;
}
}
return false;
}
string str = "hello 你好";
if (hasChineseChar(str)) {
// do something when str contains chinese char
}
七、判斷string是否相等
在C++中,可以使用==運(yùn)算符判斷兩個(gè)字符串是否相等。
string str1 = "hello";
string str2 = "world";
if (str1 == str2) {
// do something when str1 equals to str2
}
八、判斷string是不是0
當(dāng)字符串表示數(shù)值時(shí),有時(shí)候需要判斷它是否為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
}