12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #ifndef __STRING_UTILS_H
- #define __STRING_UTILS_H
- #include "Types.h"
- namespace tzc {
- class DECLDLL StringUtils {
- public:
- /**
- * @brief 判断 字符串src 是否以 字符串 str 起始
- *
- * @note str的长度若大于src, 则返回FALSE
- */
- static TZ_BOOL IsBeginStr(const std::string & src, const std::string & str);
- /**
- * @brief 判断 字符串src 是否以 字符串 str 结尾
- *
- * @note str的长度若大于src, 则返回FALSE
- */
- static TZ_BOOL IsEndStr(const std::string & src, const std::string & str);
- /**
- * @brief 使用 字符ch 作为分界符,将 字符串src 分割成若干个子字符串
- */
- static void Split(
- const std::string & src, TZ_CHAR ch, std::list<std::string> & arr);
- static void Split(
- const std::string & src, TZ_CHAR ch, std::vector<std::string> & arr);
- /**
- * @brief 使用 sets集合中的 字符ch 作为分界符,将 字符串src 分割成若干个子字符串
- */
- static void Split(const std::string & src,
- std::set<TZ_CHAR> sets, std::list<std::string> & arr);
- static void Split(const std::string & src,
- std::set<TZ_CHAR> sets, std::vector<std::string> & arr);
- /**
- * @brief 将 字符串src 中的 字符srcch 全部替换为 目的字符dstch
- */
- static void Replace(std::string & src, TZ_CHAR srcch, TZ_CHAR dstch);
- /**
- * @brief 从 字符串src中截取最后一个 字符ch 之后的所有字符,并存于 字符串dst
- *
- * @example
- * 1、src = "StringUtils.cpp", ch = '.' => dst 为 ".cpp"
- * 2、src = "StringUtils.cpp.txt", ch = '.' => dst 为 ".txt"
- * 3、src = "StringUtils.cpp.txt", ch = 't' => dst 为 "t"
- * 4、src = "StringUtils.cpp.txt", ch = 's' => dst 为 "s.cpp.txt"
- * 5、src = "StringUtils.cpp.txt", ch = 'a' => dst 为 ""
- */
- static void TruncSuffix(const std::string & src, std::string & dst, TZ_CHAR ch = '.');
- /**
- * @brief 从 字符串src中截取最后一个 字符ch 之前的所有字符,并存于 字符串dst
- *
- * @example
- * 1、src = "StringUtils.cpp", ch = '.' => dst 为 "StringUtils"
- * 2、src = "StringUtils.cpp.txt", ch = '.' => dst 为 "StringUtils.cpp"
- * 3、src = "StringUtils.cpp.txt", ch = 't' => dst 为 "StringUtils.cpp.tx"
- * 4、src = "StringUtils.cpp.txt", ch = 's' => dst 为 "StringUtil"
- * 5、src = "StringUtils.cpp.txt", ch = 'a' => dst 为 ""
- */
- static void TruncPrefix(const std::string & src, std::string & dst, TZ_CHAR ch = '.');
- /**
- * @brief 判断字符串str中是否含有字符char
- */
- static TZ_BOOL IsContain(const std::string & str, TZ_CHAR ch);
- static TZ_BOOL IsContain(const std::string & str, std::set<TZ_CHAR> sets);
- };
- }; // namespace tzc {
- #endif // !__STRING_UTILS_H
|