【超详细】C#自定义工具类-StringHelper
目录
StringHelper工具类
1.主要功能
1.基础工具方法:null/空判断
2.字符串截取与分割:安全处理子串
3.格式转换与类型转换:数据格式处理
4.正则表达式与验证:规则校验与字符过滤
5.数据脱敏与加密:隐私信息保护
6.大小写转换:文本格式标准化
7.Unity文本样式处理
2.完整代码
3.测试
本篇文章分享一下工具类StringHelper。
StringHelper工具类
1.主要功能
1.基础工具方法:null/空判断
提供字符串最基础的有效性校验,避免空引用异常。
/// <summary>
/// 判断字符串是否为 null、空字符串或仅包含空白字符(空格、制表符等)
/// </summary>
/// <param name="str">待判断的字符串</param>
/// <returns>若为 null/空/纯空白则返回 true,否则返回 false</returns>
public static bool IsNullOrEmpty(this string str)
{return string.IsNullOrEmpty(str);
}
2.字符串截取与分割:安全处理子串
解决原生Substring方法易越界的问题,同时提供场景化的分割能力。
方法名 | 核心功能 |
SubstringSafe | 安全截取指定长度,超长时可加后缀(如 ...) |
SplitFromLeft | 简化左侧截取(封装 SubstringSafe) |
SplitFromRight | 安全截取右侧指定长度 |
GetSplitLastString | 按分隔符分割后,取最后一个非空子串 |
/// <summary>
/// 安全截取字符串,避免因长度不足导致的异常
/// </summary>
/// <param name="str">待截取的字符串</param>
/// <param name="length">最大截取长度(必须大于0,否则返回空)</param>
/// <param name="suffix">当字符串被截断时添加的后缀(如 "...", 默认为空)</param>
/// <returns>
/// 若字符串长度 ≤ 截取长度,返回原字符串;
/// 否则返回前 length 个字符 + 后缀;
/// 若字符串为空或 length ≤ 0,返回空字符串
/// </returns>
public static string SubstringSafe(this string str, int length, string suffix = "")
{if (str.IsNullOrEmpty() || length <= 0) return "";return str.Length <= length ? str : str.Substring(0, length) + suffix;
}
/// <summary>
/// 从字符串左侧截取指定长度(封装 SubstringSafe,简化左侧截取调用)
/// </summary>
/// <param name="str">待截取的字符串</param>
/// <param name="length">左侧截取长度</param>
/// <returns>左侧截取的子串(长度不足时返回原字符串)</returns>
public static string SplitFromLeft(this string str, int length)
{return str.SubstringSafe(length);
}
/// <summary>
/// 从字符串右侧截取指定长度(安全处理,避免越界)
/// </summary>
/// <param name="str">待截取的字符串</param>
/// <param name="length">右侧截取长度</param>
/// <returns>
/// 若字符串长度 ≤ 截取长度,返回原字符串;
/// 否则返回从右侧第 length 个字符开始的子串;
/// 若字符串为空或 length ≤ 0,返回空字符串
/// </returns>
public static string SplitFromRight(this string str, int length)
{if (str.IsNullOrEmpty() || length <= 0) return "";return str.Length <= length ? str : str.Substring(str.Length - length, length);
}
/// <summary>
/// 按指定分隔符分割字符串后,返回最后一个非空子串
/// </summary>
/// <param name="fullString">待分割的完整字符串</param>
/// <param name="separator">分割符(支持多个字符,如 '/', '\\')</param>
/// <returns>
/// 分割后的最后一个非空子串;
/// 若分割后无有效子串,返回原字符串;
/// 若原字符串为空,返回空
/// </returns>
public static string GetSplitLastString(this string fullString, params char[] separator)
{if (fullString.IsNullOrEmpty()) return fullString;//分割时忽略空项(如连续分隔符产生的空字符串)string[] parts = fullString.Split(separator, StringSplitOptions.RemoveEmptyEntries);return parts.Length == 0 ? fullString : parts[parts.Length - 1];
}
3.格式转换与类型转换:数据格式处理
实现字符串与常用类型的安全转换,以及基础格式清洗。
1)类型转换:
●ToInt:将字符串转为int,失败时返回默认值(避免int.Parse抛异常)。
●ToDateTime:将字符串转为DateTime,失败时返回默认值(适配日期文本解析)。
2)格式清洗:
●RemoveSpaces:移除字符串中所有空格(包括中间和首尾空格)。
/// <summary>
/// 将字符串转换为 int 类型,转换失败时返回默认值
/// </summary>
/// <param name="str">待转换的字符串(如 "123")</param>
/// <param name="defaultValue">转换失败时的默认值(默认为 0)</param>
/// <returns>转换后的 int 值,或默认值</returns>
public static int ToInt(this string str, int defaultValue = 0)
{return int.TryParse(str, out int result) ? result : defaultValue;
}
/// <summary>
/// 将字符串转换为 DateTime 类型,转换失败时返回默认值
/// </summary>
/// <param name="str">待转换的字符串(如 "2025-10-16")</param>
/// <param name="defaultValue">转换失败时的默认值(默认为 DateTime.MinValue)</param>
/// <returns>转换后的 DateTime 值,或默认值</returns>
public static DateTime ToDateTime(this string str, DateTime defaultValue = default)
{return DateTime.TryParse(str, out DateTime result) ? result : defaultValue;
}
/// <summary>
/// 移除字符串中所有空格(包括中间空格、首尾空格)
/// </summary>
/// <param name="str">待处理的字符串(如 "a b c")</param>
/// <returns>移除空格后的字符串(如 "abc"),原字符串为 null 则返回空</returns>
public static string RemoveSpaces(this string str)
{return str?.Replace(" ", "") ?? "";
}
4.正则表达式与验证:规则校验与字符过滤
基于正则实现常见数据格式校验,以及特殊字符处理。
1)格式验证:
●IsMatch:通用正则匹配(判断字符串是否符合自定义正则规则)。
●IsEmail:校验邮箱格式(使用^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$匹配常见邮箱)。
●IsPhoneNumber:校验中国手机号(11位数字,以13-19开头)。
2)字符处理:
●ReplaceSpecialChars:移除预设的特殊字符(如!@#$%),用于过滤非法输入。
●EscapeSpecialChars:转义正则中的特殊字符(如.→\.),避免正则语法错误。
/// <summary>
/// </summary>
/// <param name="str">待匹配的字符串</param>
/// <param name="pattern">正则表达式模式(如 @"^\d+$" 匹配纯数字)</param>
/// <returns>
/// 若字符串和模式均非空且匹配成功,返回 true;
/// 否则返回 false(包括字符串/模式为空的情况)
/// </returns>
public static bool IsMatch(this string str, string pattern)
{if (str.IsNullOrEmpty() || pattern.IsNullOrEmpty()) return false;return Regex.IsMatch(str, pattern);
}
/// <summary>
/// 判断字符串是否为合法的邮箱格式(基础校验)
/// </summary>
/// <param name="str">待验证的字符串(如 "test@example.com")</param>
/// <returns>若为合法邮箱格式返回 true,否则返回 false</returns>
public static bool IsEmail(this string str)
{//正则说明:支持字母、数字、下划线、减号及域名格式(如 user-name@sub.domain.com)return str.IsMatch(@"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$");
}
/// <summary>
/// 判断字符串是否为合法的中国手机号格式(11位数字,以13-19开头)
/// </summary>
/// <param name="str">待验证的字符串(如 "13800138000")</param>
/// <returns>若为合法手机号返回 true,否则返回 false</returns>
public static bool IsPhoneNumber(this string str)
{return str.IsMatch(@"^1[3-9]\d{9}$");
}
/// <summary>
/// 需要过滤的特殊字符集(正则表达式)
/// 包含:[]{}!@#$%^""'&*()?=&:;,.|
/// </summary>
private const string SpecialChars = @"[\[\]{}!@#$%^""'&*()?=&:;,.|]";
/// <summary>
/// 移除字符串中的特殊字符(替换为空白),用于过滤非法输入
/// </summary>
/// <param name="s">待处理的字符串(如 "user@#name")</param>
/// <returns>移除特殊字符后的字符串(如 "username")</returns>
public static string ReplaceSpecialChars(this string s)
{return s.IsNullOrEmpty() ? s : Regex.Replace(s, SpecialChars, "");
}
/// <summary>
/// 转义字符串中的正则特殊字符(如 .*+?^${}()|[]\),避免正则匹配时语法错误
/// </summary>
/// <param name="s">待转义的字符串(如 "a.b*c")</param>
/// <returns>转义后的字符串(如 "a\.b\*c")</returns>
public static string EscapeSpecialChars(this string s)
{if (s.IsNullOrEmpty()) return s;return Regex.Escape(s);
}
想要了解正则表达式,可以参考【一文了解】正则表达式
5.数据脱敏与加密:隐私信息保护
对敏感信息进行格式化处理,隐藏部分内容以保障隐私。
●MaskPhone:手机号脱敏(保留前3位和后4位,中间用****替换,如138****8000)。
●MaskName:姓名脱敏(保留姓氏,其余用*替换,如张*、李**)。
/// <summary>
/// 手机号脱敏处理:保留前3位和后4位,中间4位替换为 "*"
/// </summary>
/// <param name="phone">待脱敏的手机号(如 "13800138000")</param>
/// <returns>
/// 脱敏后的手机号(如 "138****8000");
/// 若输入非有效手机号或为空,返回原字符串
/// </returns>
public static string MaskPhone(this string phone)
{if (phone.IsNullOrEmpty() || !phone.IsPhoneNumber()) return phone;return phone.Substring(0, 3) + "****" + phone.Substring(7);
}
/// <summary>
/// 姓名脱敏处理:保留姓氏,其余字符替换为 "*"
/// </summary>
/// <param name="name">待脱敏的姓名(如 "张三"、"李四光")</param>
/// <returns>
/// 脱敏后的姓名(如 "张*"、"李**");
/// 若姓名为空或单字,返回原字符串
/// </returns>
public static string MaskName(this string name)
{if (name.IsNullOrEmpty()) return name;return name.Length == 1 ? name : name[0] + new string('*', name.Length - 1);
}
6.大小写转换:文本格式标准化
提供精细化的大小写调整能力,满足不同场景的文本样式需求。
●FirstCharToUpper:仅首字母大写(如hello→Hello)。
●FirstCharToLower:仅首字母小写(如Hello→hello)。
●ToTitleCase:每个单词首字母大写(按空格分割,如helloworld→HelloWorld)。
/// <summary>
/// 将字符串首字母转换为大写,其余字符保持不变
/// </summary>
/// <param name="str">待转换的字符串(如 "hello")</param>
/// <returns>首字母大写的字符串(如 "Hello"),空字符串返回原字符串</returns>
public static string FirstCharToUpper(this string str)
{if (str.IsNullOrEmpty()) return str;return char.ToUpper(str[0]) + (str.Length > 1 ? str.Substring(1) : "");
}
/// <summary>
/// 将字符串首字母转换为小写,其余字符保持不变
/// </summary>
/// <param name="str">待转换的字符串(如 "Hello")</param>
/// <returns>首字母小写的字符串(如 "hello"),空字符串返回原字符串</returns>
public static string FirstCharToLower(this string str)
{if (str.IsNullOrEmpty()) return str;return char.ToLower(str[0]) + (str.Length > 1 ? str.Substring(1) : "");
}
/// <summary>
/// 将字符串中每个单词的首字母转换为大写(按空格分割单词)
/// </summary>
/// <param name="str">待转换的字符串(如 "hello world")</param>
/// <returns>每个单词首字母大写的字符串(如 "Hello World"),空字符串返回原字符串</returns>
public static string ToTitleCase(this string str)
{if (str.IsNullOrEmpty()) return str;//按空格分割单词,忽略空项(如连续空格)string[] words = str.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);for (int i = 0; i < words.Length; i++){words[i] = words[i].FirstCharToUpper();//复用首字母大写方法}return string.Join(" ", words);//拼接为完整字符串
}
7.Unity文本样式处理
生成UI文本支持的HTML样式标签。
●AddColor:为文本添加颜色(将UnityColor转为RGB十六进制,生成<color=#FF0000>文本</color>)。
●AddBold:为文本添加加粗样式(生成<b>文本</b>)。
●AddItalic:为文本添加斜体样式(生成<i>文本</i>)。
/// <summary>
/// 为字符串添加 Unity UI 支持的 HTML 颜色样式(如 <color=#FF0000>文本</color>)
/// </summary>
/// <param name="message">需要添加颜色的文本</param>
/// <param name="color">Unity Color 类型的颜色(如 Color.red)</param>
/// <returns>包含颜色样式的字符串,原文本为空则返回原字符串</returns>
public static string AddColor(this string message, Color color)
{if (message.IsNullOrEmpty()) return message;string hex = ColorUtility.ToHtmlStringRGB(color);//转换 Color 为 RGB 十六进制(如 "FF0000")return $"<color=#{hex}>{message}</color>";
}
/// <summary>
/// 为字符串添加 Unity UI 支持的 HTML 加粗样式(如 <b>文本</b>)
/// </summary>
/// <param name="message">需要加粗的文本</param>
/// <returns>包含加粗样式的字符串,原文本为空则返回原字符串</returns>
public static string AddBold(this string message)
{return message.IsNullOrEmpty() ? message : $"<b>{message}</b>";
}
/// <summary>
/// 为字符串添加 Unity UI 支持的 HTML 斜体样式(如 <i>文本</i>)
/// </summary>
/// <param name="message">需要斜体的文本</param>
/// <returns>包含斜体样式的字符串,原文本为空则返回原字符串</returns>
public static string AddItalic(this string message)
{return message.IsNullOrEmpty() ? message : $"<i>{message}</i>";
}
2.完整代码
/// <summary>
/// StringHelper工具类
/// 封装常用字符串处理功能:通用字符串操作、数据验证、格式转换、Unity UI文本处理等
/// </summary>
public static class StringHelper
{#region 基础工具方法/// <summary>/// 判断字符串是否为 null、空字符串或仅包含空白字符(空格、制表符等)/// </summary>/// <param name="str">待判断的字符串</param>/// <returns>若为 null/空/纯空白则返回 true,否则返回 false</returns>public static bool IsNullOrEmpty(this string str){return string.IsNullOrEmpty(str);}#endregion#region 字符串截取与分割/// <summary>/// 安全截取字符串,避免因长度不足导致的异常/// </summary>/// <param name="str">待截取的字符串</param>/// <param name="length">最大截取长度(必须大于0,否则返回空)</param>/// <param name="suffix">当字符串被截断时添加的后缀(如 "...", 默认为空)</param>/// <returns>/// 若字符串长度 ≤ 截取长度,返回原字符串;/// 否则返回前 length 个字符 + 后缀;/// 若字符串为空或 length ≤ 0,返回空字符串/// </returns>public static string SubstringSafe(this string str, int length, string suffix = ""){if (str.IsNullOrEmpty() || length <= 0) return "";return str.Length <= length ? str : str.Substring(0, length) + suffix;}/// <summary>/// 从字符串左侧截取指定长度(封装 SubstringSafe,简化左侧截取调用)/// </summary>/// <param name="str">待截取的字符串</param>/// <param name="length">左侧截取长度</param>/// <returns>左侧截取的子串(长度不足时返回原字符串)</returns>public static string SplitFromLeft(this string str, int length){return str.SubstringSafe(length);}/// <summary>/// 从字符串右侧截取指定长度(安全处理,避免越界)/// </summary>/// <param name="str">待截取的字符串</param>/// <param name="length">右侧截取长度</param>/// <returns>/// 若字符串长度 ≤ 截取长度,返回原字符串;/// 否则返回从右侧第 length 个字符开始的子串;/// 若字符串为空或 length ≤ 0,返回空字符串/// </returns>public static string SplitFromRight(this string str, int length){if (str.IsNullOrEmpty() || length <= 0) return "";return str.Length <= length ? str : str.Substring(str.Length - length, length);}/// <summary>/// 按指定分隔符分割字符串后,返回最后一个非空子串/// </summary>/// <param name="fullString">待分割的完整字符串</param>/// <param name="separator">分割符(支持多个字符,如 '/', '\\')</param>/// <returns>/// 分割后的最后一个非空子串;/// 若分割后无有效子串,返回原字符串;/// 若原字符串为空,返回空/// </returns>public static string GetSplitLastString(this string fullString, params char[] separator){if (fullString.IsNullOrEmpty()) return fullString;//分割时忽略空项(如连续分隔符产生的空字符串)string[] parts = fullString.Split(separator, StringSplitOptions.RemoveEmptyEntries);return parts.Length == 0 ? fullString : parts[parts.Length - 1];}#endregion#region 格式转换与类型转换/// <summary>/// 将字符串转换为 int 类型,转换失败时返回默认值/// </summary>/// <param name="str">待转换的字符串(如 "123")</param>/// <param name="defaultValue">转换失败时的默认值(默认为 0)</param>/// <returns>转换后的 int 值,或默认值</returns>public static int ToInt(this string str, int defaultValue = 0){return int.TryParse(str, out int result) ? result : defaultValue;}/// <summary>/// 将字符串转换为 DateTime 类型,转换失败时返回默认值/// </summary>/// <param name="str">待转换的字符串(如 "2025-10-16")</param>/// <param name="defaultValue">转换失败时的默认值(默认为 DateTime.MinValue)</param>/// <returns>转换后的 DateTime 值,或默认值</returns>public static DateTime ToDateTime(this string str, DateTime defaultValue = default){return DateTime.TryParse(str, out DateTime result) ? result : defaultValue;}/// <summary>/// 移除字符串中所有空格(包括中间空格、首尾空格)/// </summary>/// <param name="str">待处理的字符串(如 "a b c")</param>/// <returns>移除空格后的字符串(如 "abc"),原字符串为 null 则返回空</returns>public static string RemoveSpaces(this string str){return str?.Replace(" ", "") ?? "";}#endregion#region 正则表达式与验证/// <summary>/// </summary>/// <param name="str">待匹配的字符串</param>/// <param name="pattern">正则表达式模式(如 @"^\d+$" 匹配纯数字)</param>/// <returns>/// 若字符串和模式均非空且匹配成功,返回 true;/// 否则返回 false(包括字符串/模式为空的情况)/// </returns>public static bool IsMatch(this string str, string pattern){if (str.IsNullOrEmpty() || pattern.IsNullOrEmpty()) return false;return Regex.IsMatch(str, pattern);}/// <summary>/// 判断字符串是否为合法的邮箱格式(基础校验)/// </summary>/// <param name="str">待验证的字符串(如 "test@example.com")</param>/// <returns>若为合法邮箱格式返回 true,否则返回 false</returns>public static bool IsEmail(this string str){//正则说明:支持字母、数字、下划线、减号及域名格式(如 user-name@sub.domain.com)return str.IsMatch(@"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$");}/// <summary>/// 判断字符串是否为合法的中国手机号格式(11位数字,以13-19开头)/// </summary>/// <param name="str">待验证的字符串(如 "13800138000")</param>/// <returns>若为合法手机号返回 true,否则返回 false</returns>public static bool IsPhoneNumber(this string str){return str.IsMatch(@"^1[3-9]\d{9}$");}/// <summary>/// 需要过滤的特殊字符集(正则表达式)/// 包含:[]{}!@#$%^""'&*()?=&:;,.|/// </summary>private const string SpecialChars = @"[\[\]{}!@#$%^""'&*()?=&:;,.|]";/// <summary>/// 移除字符串中的特殊字符(替换为空白),用于过滤非法输入/// </summary>/// <param name="s">待处理的字符串(如 "user@#name")</param>/// <returns>移除特殊字符后的字符串(如 "username")</returns>public static string ReplaceSpecialChars(this string s){return s.IsNullOrEmpty() ? s : Regex.Replace(s, SpecialChars, "");}/// <summary>/// 转义字符串中的正则特殊字符(如 .*+?^${}()|[]\),避免正则匹配时语法错误/// </summary>/// <param name="s">待转义的字符串(如 "a.b*c")</param>/// <returns>转义后的字符串(如 "a\.b\*c")</returns>public static string EscapeSpecialChars(this string s){if (s.IsNullOrEmpty()) return s;return Regex.Escape(s);}#endregion#region 数据脱敏与加密/// <summary>/// 手机号脱敏处理:保留前3位和后4位,中间4位替换为 "*"/// </summary>/// <param name="phone">待脱敏的手机号(如 "13800138000")</param>/// <returns>/// 脱敏后的手机号(如 "138****8000");/// 若输入非有效手机号或为空,返回原字符串/// </returns>public static string MaskPhone(this string phone){if (phone.IsNullOrEmpty() || !phone.IsPhoneNumber()) return phone;return phone.Substring(0, 3) + "****" + phone.Substring(7);}/// <summary>/// 姓名脱敏处理:保留姓氏,其余字符替换为 "*"/// </summary>/// <param name="name">待脱敏的姓名(如 "张三"、"李四光")</param>/// <returns>/// 脱敏后的姓名(如 "张*"、"李**");/// 若姓名为空或单字,返回原字符串/// </returns>public static string MaskName(this string name){if (name.IsNullOrEmpty()) return name;return name.Length == 1 ? name : name[0] + new string('*', name.Length - 1);}#endregion#region 大小写转换/// <summary>/// 将字符串首字母转换为大写,其余字符保持不变/// </summary>/// <param name="str">待转换的字符串(如 "hello")</param>/// <returns>首字母大写的字符串(如 "Hello"),空字符串返回原字符串</returns>public static string FirstCharToUpper(this string str){if (str.IsNullOrEmpty()) return str;return char.ToUpper(str[0]) + (str.Length > 1 ? str.Substring(1) : "");}/// <summary>/// 将字符串首字母转换为小写,其余字符保持不变/// </summary>/// <param name="str">待转换的字符串(如 "Hello")</param>/// <returns>首字母小写的字符串(如 "hello"),空字符串返回原字符串</returns>public static string FirstCharToLower(this string str){if (str.IsNullOrEmpty()) return str;return char.ToLower(str[0]) + (str.Length > 1 ? str.Substring(1) : "");}/// <summary>/// 将字符串中每个单词的首字母转换为大写(按空格分割单词)/// </summary>/// <param name="str">待转换的字符串(如 "hello world")</param>/// <returns>每个单词首字母大写的字符串(如 "Hello World"),空字符串返回原字符串</returns>public static string ToTitleCase(this string str){if (str.IsNullOrEmpty()) return str;//按空格分割单词,忽略空项(如连续空格)string[] words = str.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);for (int i = 0; i < words.Length; i++){words[i] = words[i].FirstCharToUpper();//复用首字母大写方法}return string.Join(" ", words);//拼接为完整字符串}#endregion#region Unity 文本样式处理/// <summary>/// 为字符串添加 Unity UI 支持的 HTML 颜色样式(如 <color=#FF0000>文本</color>)/// </summary>/// <param name="message">需要添加颜色的文本</param>/// <param name="color">Unity Color 类型的颜色(如 Color.red)</param>/// <returns>包含颜色样式的字符串,原文本为空则返回原字符串</returns>public static string AddColor(this string message, Color color){if (message.IsNullOrEmpty()) return message;string hex = ColorUtility.ToHtmlStringRGB(color);//转换 Color 为 RGB 十六进制(如 "FF0000")return $"<color=#{hex}>{message}</color>";}/// <summary>/// 为字符串添加 Unity UI 支持的 HTML 加粗样式(如 <b>文本</b>)/// </summary>/// <param name="message">需要加粗的文本</param>/// <returns>包含加粗样式的字符串,原文本为空则返回原字符串</returns>public static string AddBold(this string message){return message.IsNullOrEmpty() ? message : $"<b>{message}</b>";}/// <summary>/// 为字符串添加 Unity UI 支持的 HTML 斜体样式(如 <i>文本</i>)/// </summary>/// <param name="message">需要斜体的文本</param>/// <returns>包含斜体样式的字符串,原文本为空则返回原字符串</returns>public static string AddItalic(this string message){return message.IsNullOrEmpty() ? message : $"<i>{message}</i>";}#endregion
}
3.测试
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class StringTest : MonoBehaviour
{private void Start(){//基础工具方法string str1 = "1234567890";Debug.Log($"str1:{str1}");Debug.Log(StringHelper.IsNullOrEmpty(str1));//字符串截取与分割string str2 = "abcdefgh";Debug.Log(StringHelper.SubstringSafe(str2,3,"..."));Debug.Log(StringHelper.SplitFromLeft(str2,5));Debug.Log(StringHelper.SplitFromRight(str2,2));string str3 = "hello/c#/hello/world";Debug.Log($"str2:{str3}");Debug.Log(StringHelper.GetSplitLastString(str3,'/'));//格式转换与类型转换string str4 = "09";Debug.Log($"str4:{str4}");Debug.Log($"str3:{StringHelper.ToInt(str3)},str4:{StringHelper.ToInt(str4)}");string str5 = "2025/10/17 00:00:00";Debug.Log($"str5:{str5}");Debug.Log($"str3:{StringHelper.ToDateTime(str3)},str4:{StringHelper.ToDateTime(str5)}");string str6 = "hello world";Debug.Log($"str6:{str6}");Debug.Log(StringHelper.RemoveSpaces(str6));//正则表达式与验证Debug.Log($"str1是否全是数字?{StringHelper.IsMatch(str1,@"^\d+$")}");Debug.Log($"str1是否是邮箱?{StringHelper.IsEmail(str1)}");string str7 = "13111445566";Debug.Log($"str7:{str7}");Debug.Log($"str7是否是手机号?{StringHelper.IsPhoneNumber(str7)}");string str8 = "hello[#world%";Debug.Log($"str8:{str8}");Debug.Log($"str8去除特殊字符:{StringHelper.ReplaceSpecialChars(str8)}");string str9 = "a.b*c";Debug.Log($"str9:{str9}");Debug.Log($"str9转义后特殊字符:{StringHelper.EscapeSpecialChars(str9)}");//数据脱敏与加密Debug.Log($"str7脱敏:{StringHelper.MaskPhone(str7)}");string str10 = "张三";Debug.Log($"str10:{str10}");Debug.Log($"str10脱敏:{StringHelper.MaskName(str10)}");//大小写转换Debug.Log($"str6转大写:{StringHelper.ToTitleCase(str6)}");string str11 = "Hello world";Debug.Log($"str11:{str11}");Debug.Log($"str11转小写:{StringHelper.FirstCharToLower(str11)}");Debug.Log($"str6每个单次首字符转大写:{StringHelper.ToTitleCase(str6)}");Debug.Log(StringHelper.AddColor(str1,Color.red));Debug.Log(StringHelper.AddBold(str1));Debug.Log(StringHelper.AddItalic(str1));}
}
好了,本次的分享到这里就结束啦,希望对你有所帮助~