dev-tool 0.1.12

dev-tool(变更为mitoo)是一个Rust工具包类库,对文件、加密解密、转码、正则、线程池、sqlite等方法进行封装,组成各种Util工具类。
Documentation
/// 字符串相关操作
pub struct StrUtil;

impl StrUtil {
    /// 将字符串按照指定分隔符进行分割
    ///
    /// # 参数
    /// * `str` - 需要分割的字符串切片
    /// * `delimiter` - 用作分割依据的分隔符字符串
    ///
    /// # 返回值
    /// 返回一个包含分割后子字符串的向量,每个元素都是原字符串的切片引用
    ///
    /// # 示例
    /// ```
    /// let result = split("hello,world,rust", ",");
    /// assert_eq!(result, vec!["hello", "world", "rust"]);
    /// ```
    pub fn split<'a>(str: &'a str, delimiter: &str) -> Vec<&'a str> {
        str.split(delimiter).collect()
    }

    /// 从字符串中移除指定的前缀
    ///
    /// 如果字符串以指定前缀开头,则返回移除前缀后的字符串;
    /// 否则返回原字符串的副本。
    ///
    /// # 参数
    /// * `str` - 需要处理的原始字符串
    /// * `prefix` - 要移除的前缀字符串
    ///
    /// # 返回值
    /// 返回移除前缀后的字符串,如果不需要移除前缀则返回原字符串的副本
    pub fn remove_prefix(str: &str, prefix: &str) -> String {
        // 检查字符串是否以指定前缀开头
        if str.starts_with(prefix) {
            // 如果是,则返回移除前缀后的子字符串
            return str[prefix.len()..].to_string();
        }
        // 如果不是以指定前缀开头,返回原字符串的副本
        str.to_string()
    }

    /// 从字符串中移除指定的后缀
    ///
    /// 如果字符串以指定后缀结尾,则返回移除该后缀后的字符串;
    /// 否则返回原字符串的副本。
    ///
    /// # 参数
    /// * `str` - 需要处理的原始字符串
    /// * `suffix` - 要移除的后缀字符串
    ///
    /// # 返回值
    /// 返回处理后的字符串。如果原字符串以指定后缀结尾,则返回移除后缀后的字符串;
    /// 否则返回原字符串的副本。
    pub fn remove_suffix(str: &str, suffix: &str) -> String {
        // 检查字符串是否以指定后缀结尾
        if str.ends_with(suffix) {
            // 移除后缀并返回新字符串
            return str[..str.len() - suffix.len()].to_string();
        }
        // 如果不以后缀结尾,返回原字符串副本
        str.to_string()
    }

    /// 字符串反转
    pub fn reverse(str: &str) -> String {
        // 创建一个空的字符串用于存储反转后的结果
        let mut reversed = String::new();
        // 遍历字符串的每个字符
        for c in str.chars() {
            // 在每次迭代中,将当前字符添加到反转后的字符串的开头
            reversed.insert(0, c);
        }
        // 返回反转后的字符串
        reversed
    }
    
}