String Utils RS
一个提供字符串和文件处理实用工具的 Rust 库。
功能特性
- 字符串处理: 清理、格式化、转换和验证字符串
- 文本分析: 统计字符、单词、行数和句子数
- 文件操作: 读取、写入、复制和删除文件
- JSON 处理: 解析、格式化和验证 JSON 数据
- 正则表达式: 文本替换和模式匹配
- 命名转换: 支持驼峰命名、蛇形命名等格式转换
安装
在你的 Cargo.toml 中添加依赖:
[]
= "0.1.0"
快速开始
use ;
API 文档
StringUtils
字符串清理和格式化
// 清理字符串两端的空白字符
let cleaned = clean_whitespace;
// 结果: "hello"
// 移除所有空白字符
let result = remove_whitespace;
// 结果: "HelloWorld!"
// 转换为标题格式
let title = to_title_case;
// 结果: "Hello World"
// 转换为驼峰命名
let camel = to_camel_case;
// 结果: "helloWorld"
// 转换为蛇形命名
let snake = to_snake_case;
// 结果: "hello_world"
文本分析
let stats = analyze_text;
println!;
println!;
println!;
println!;
回文检查
assert!;
assert!;
assert!;
正则表达式
// 替换文本
let result = replace_regex.unwrap;
// 结果: "HelloNUMBERWorldNUMBER"
// 提取数字
let numbers = extract_numbers;
// 结果: [123, 456]
FileUtils
基本文件操作
// 读取文件
let content = read_file.unwrap;
// 写入文件
write_file.unwrap;
// 复制文件
copy_file.unwrap;
// 删除文件
delete_file.unwrap;
文件信息
// 检查文件是否存在
if file_exists
// 获取文件信息
let info = get_file_info.unwrap;
println!;
// 获取人类可读的文件大小
let size = get_human_readable_size.unwrap;
println!; // 例如: "1.5 MB"
// 获取文件扩展名
let ext = get_extension;
// 结果: Some("txt")
// 获取文件名
let filename = get_filename;
// 结果: Some("file.txt")
JsonUtils
JSON 解析和格式化
// 解析 JSON
let json_str = r#"{"name": "John", "age": 30}"#;
let json = parse_json.unwrap;
// 格式化 JSON
let formatted = format_json.unwrap;
// 紧凑格式
let compact = compact_json.unwrap;
// 验证 JSON
assert!;
assert!;
JSON 操作
// 获取嵌套值
let json_str = r#"{"user": {"name": "John", "age": 30}}"#;
let json = parse_json.unwrap;
let name = get_value.unwrap;
// 结果: "John"
// 合并 JSON 对象
let json1 = json!;
let json2 = json!;
let merged = merge_json.unwrap;
// 创建 JSON 对象
let json = create_object;
结构体序列化
use ;
let person = Person ;
// 序列化
let json_str = to_json_string.unwrap;
// 反序列化
let parsed_person: Person = from_json_string.unwrap;
运行示例
# 运行基本示例
# 运行测试
# 运行文档测试
错误处理
库使用自定义错误类型 StringUtilsError:
use ;
贡献
欢迎提交 Issue 和 Pull Request!
许可证
MIT License
更新日志
0.1.0
- 初始版本
- 基本字符串处理功能
- 文件操作工具
- JSON 处理工具
- 完整的测试覆盖