文本工具
TextsUtil 是一组用于字符串拆分、数字格式化、时间转换与数据清洗的通用工具函数。
这些方法常用于数据管线、运行时数据解析、Excel 配表读取以及 UI 显示等场景。
本页将介绍 TextsUtil 提供的全部核心功能。
1. 字符串拆分
文本工具提供多种风格的分隔符(英文、中文符号均兼容)。
支持的分隔符类型(SplitType)
- Semicolon(; 或 ;)
- Comma(, 或 ,)
- Percent(%)
- Colon(: 或 :)
- Space(空格)
- Pipe(|)
- Underscore(_)
1.1 拆分为字符串数组
string[] arr = TextsUtil.SplitStrToStrArr("1;2;3", SplitType.Semicolon);
兼容中文符号(例如 ; 会自动替换为 ;)。
1.2 拆分为整型数组
int[] arr = TextsUtil.SplitStrToIntArr("10,20,30", SplitType.Comma);
1.3 拆分键值对(int, int)
可使用框架自带的LogUtil来代替Unity的Debug/print来简单测试数据。
详情请见日志工具
TextsUtil.SplitStrToIntArrTwice("1001=5;1002=3",
SplitType.Semicolon, SplitType.Equal, (id, count) =>
{
LogUtil.Info(id + " / " + count);
});
1.4 拆分键值对(string, string)
TextsUtil.SplitStrToStrArrTwice("HP:100|MP:50",
SplitType.Pipe, SplitType.Colon, (key, value) => {});
2. 数字格式化
2.1 补零格式(D)
TextsUtil.GetNumStr(7, 3); // "007"
2.2 小数位格式(F)
TextsUtil.GetDecimalStr(3.14159f, 2); // "3.14"
2.3 大数格式化(中文单位)
TextsUtil.GetBigDataToString(123456789);
// 输出:1亿2千万
TextsUtil.GetBigDataToString(45000);
// 输出:4万5千
3. 时间转换
3.1 秒 → 时分秒(自定义单位)
TextsUtil.SecondToHMS(3661);
// 输出:1时1分1秒
可选参数:
- 是否忽略 0 值
- 是否统一两位(01 时 03 分)
- 自定义拼接字符
3.2 秒 → 00:00:00 格式
TextsUtil.SecondToHMS2(3661);
// 输出:01:01:01
4. 字符串处理
4.1 驼峰命名(camelCase)
TextsUtil.ToCamelCase("PlayerName"); // playerName
4.2 Pascal 命名(首字母大写)
TextsUtil.ToPascalCase("playerName"); // PlayerName
4.3 过滤非法字符
移除非字母、数字、下划线的字符:
TextsUtil.RemoveInvalidChars("HP%Value!"); // HPValue
4.4 修正中文符号
TextsUtil.NormalizePunctuation("(测试:100)");
// 输出:(测试:100)
5. 数据清洗(Excel 配表常用)
5.1 修正 JSON 格式
可将以下任意格式:
HP:100,MP:50
(HP:100,MP:50)
HP=100;MP=50
自动转换为合法 JSON:
```csharp
string fixedJson = TextsUtil.NormalizeJsonString("HP:100,MP:50");
// 输出:{"HP":100,"MP":50}
5.2 清洗 Excel 中的任意数据字符串
支持:
- 修正全角符号
- 自动补全 JSON
- 自动修正括号
- 移除空格、换行
- 支持日期格式识别
TextsUtil.NormalizeDataString("(HP:100,MP:50)");
// 输出:{"HP":100,"MP":50}
6. 使用场景
TextsUtil 常用于以下场景:
- Excel 配表读取(数值、数组、键值对、字典解析)
- UI 文本格式化(倒计时、资源展示、大数显示)
- 数据工具链(Editor 与 Runtime)
- JSON 修复与 Excel 自由填表兼容
- 通用字符串预处理
它是数据系统与 UI 系统等模块中最常用的基础工具之一。