文件位置:util/StringUtil.h
#include " util/StringUtil.h" //需要包含的头文件
int ivalue = StringUtil::safeStoi("999"); //转整形
float fvalue = StringUtil::safeStoi("888.888"); //转浮点
.....
static int safeStoi(const string& str);
static bool safeStoi(const string& str, int& result);
static float safeStof(const string& str);
static bool safeStof(const string& str, float& result);
static long long safeStoll(const string& str);
static bool safeStoll(const string& str, long long& result);
static double safeStod(const string& str);
static bool safeStod(const string& str, double& result);
string fmtstr = StringUtil::snprintf("衬衫的价格是%d镑%f便士",9,15.0);
//打印输出 衬衫的价格是9镑15.000000便士
// 示例 1: 匹配纯数字字符串
std::string reg1 = "^[0-9]+$";
std::string str1 = "12345";
if (StringUtil::match(reg1, str1)) {
std::cout << "字符串 \"" << str1 << "\" 匹配正则表达式 \"" << reg1 << "\"。" << std::endl;
} else {
std::cout << "字符串 \"" << str1 << "\" 不匹配正则表达式 \"" << reg1 << "\"。" << std::endl;
}
// 示例 2: 匹配邮箱格式
std::string reg2 = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$";
std::string str2 = "example@example.com";
if (StringUtil::match(reg2, str2)) {
std::cout << "字符串 \"" << str2 << "\" 匹配正则表达式 \"" << reg2 << "\"。" << std::endl;
} else {
std::cout << "字符串 \"" << str2 << "\" 不匹配正则表达式 \"" << reg2 << "\"。" << std::endl;
}
// 示例 3: 匹配以字母开头,后跟数字的字符串
std::string reg3 = "^[a-zA-Z][0-9]+$";
std::string str3 = "A123";
if (StringUtil::match(reg3, str3)) {
std::cout << "字符串 \"" << str3 << "\" 匹配正则表达式 \"" << reg3 << "\"。" << std::endl;
} else {
std::cout << "字符串 \"" << str3 << "\" 不匹配正则表达式 \"" << reg3 << "\"。" << std::endl;
}
// 示例 4: 匹配日期格式(YYYY-MM-DD)
std::string reg4 = "^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$";
std::string str4 = "2024-10-15";
if (StringUtil::match(reg4, str4)) {
std::cout << "字符串 \"" << str4 << "\" 匹配正则表达式 \"" << reg4 << "\"。" << std::endl;
} else {
std::cout << "字符串 \"" << str4 << "\" 不匹配正则表达式 \"" << reg4 << "\"。" << std::endl;
}
// 示例 1: UTF-8 转 GBK
std::string utf8Str = "Hello, 世界";
std::string gbkResult = StringUtil::trancoding("UTF-8", "GBK", utf8Str);
if (!gbkResult.empty()) {
std::cout << "UTF-8 转 GBK 结果: " << gbkResult << std::endl;
}
// 示例 2: GBK 转 UTF-8
std::string gbkStr = "中文测试"; // 假设这里是 GBK 编码的字符串
std::string utf8Result = StringUtil::trancoding("GBK", "UTF-8", gbkStr);
if (!utf8Result.empty()) {
std::cout << "GBK 转 UTF-8 结果: " << utf8Result << std::endl;
}