#pragma once #include #include #include "base/define.h" namespace ylib { namespace strutils{ /** * @brief 删除子字符串 * @param str * @param sub * @return */ std::string remove(std::string str, const std::string& sub); /** * @brief 大小写转换 * @param input * @param toUpperCase * @return */ std::string change_case(const std::string& input, bool toUpperCase/*true=大写,false=小写*/); /** * @brief 分割字符串 * @param str * @param delim * @return */ std::vector split(const std::string& str, const std::string& delim); std::vector split(const std::string& str,char delim); /** * @brief 去首尾字符 * @param str * @param chars * @return */ std::string trim(std::string s,const std::vector& trim_chars); /** * @brief 去首字符 * @param str * @param chars * @return */ std::string trim_begin(std::string s,const std::vector& trim_chars); /** * @brief 去尾字符 * @param str * @param chars * @param loop = 循环匹配 * @return */ std::string trim_end(std::string s,const std::vector& trim_chars,bool loop = false); /** * @brief 左边 * @param str * @param len * @return */ std::string left(const std::string& str,size_t len); /** * @brief 右边 * @param str * @param len * @return */ std::string right(const std::string& str,size_t len); /** * @brief 是否为数字 * @return */ bool is_num(const std::string& str); bool is_num_code(char value); /** * @brief 是否为英文 * @return */ bool is_en_code(char value); /** * @brief 取中间 * @param str * @param begin * @param end * @return */ std::string between(const std::string& str,const std::string& begin,const std::string& end); /** * @brief 替换 * @param str * @param search * @param value * @return */ std::string replace(const std::string& str, const std::string& search, const std::string& value); std::string replace(const std::string& str, uchar search,uchar value); /** * @brief 空值 */ std::string F(const char* value); #ifdef _WIN32 std::wstring to_wstring(const std::string& value); std::string wto_string(const std::wstring& value); #endif /// /// 填补 /// /// 输入 /// 固定长度 /// 填补字符 /// std::string pad_with_begin(const std::string& value,size_t fixed_length,char pad); std::string pad_with_end(const std::string& value, size_t fixed_length, char pad); } }