C# 中获取指定字符前字符串及去除前后字符的方法
在C#编程中,处理字符串时经常需要提取分隔符前的内容或清理首尾冗余字符。本文将介绍如何利用Split方法快速截取指定字符前的字符串,以及如何编写自定义函数去除字符串前后的任意指定符号。
获取指定字符前的字符串
第1步:使用 Split 方法分割字符串
目的:将包含分隔符(如“|”)的完整字符串拆分为数组,并提取分隔符前的第一部分。
操作入口:C# 语言基础语法。
动作说明:
- 获取目标字符串(例如 ComboBox 的 Text 属性值)。
- 调用
string.Split()方法,传入目标分隔符作为参数。 - 获取返回的字符串数组索引为
[0]的元素,即为分隔符前的内容。
重要参数:
- 分隔符:通常是单个字符,如
'|'。 - 方法:
Split(char)。
// 假设 ComBoBox.Text 的值为 "100088|仓库编码1"
// 1. 先修剪空白字符,再按 "|" 分割
string[] arry = ComBoBox.Text.Trim().Split('|');
// 2. 取第一个元素,即得到 "100088"
string result = arry[0];
完成状态:变量 result 中存储了分隔符前的纯数字或文本内容,可直接用于后续逻辑。
去除字符串前后任意指定字符
第1步:定义自定义 TrimStr 方法
目的:移除字符串开头和结尾出现的特定符号(如逗号、竖线等),类似内置 Trim 但支持自定义字符集。
操作入口:静态工具类中的公共方法。
动作说明:
- 检查输入字符串是否为空或 null,若是则直接返回空字符串。
- 将字符串转换为字符数组以便逐个访问。
- 从左侧开始扫描,跳过所有等于目标符号的字符,记录起始位置
st。 - 从右侧开始扫描,跳过所有等于目标符号的字符,记录结束长度
len。 - 判断有效区间,若起始位置大于等于结束长度,说明全部被清除,返回空字符串;否则截取中间部分。
重要参数:
str:待处理的原始字符串。symbol:需要去除的目标字符(char 类型)。
public static string TrimStr(string str, string symbol)
{
// 边界条件处理
if (string.IsNullOrEmpty(str))
return "";
int len = str.Length;
int st = 0;
char target = symbol[0]; // 假设 symbol 为单字符
char[] val = str.ToCharArray();
// 从左向右跳过匹配字符
while (st < len && val[st] == target)
{
st++;
}
// 从右向左跳过匹配字符
while (len > 0 && val[len - 1] == target)
{
len--;
}
// 如果左边越过了右边,说明全清除了
if (st >= len)
return "";
// 截取有效部分
// 注意:Substring 第二个参数是长度,不是结束索引
return str.Substring(st, len - st);
}
使用示例:
// 调用示例:去除前后逗号
string input = ",,,1,2,5,";
string output = TrimStr(input, ",");
// 结果 output 为 "1,2,5"
完成状态:返回一个新的字符串,其首尾不含指定的 symbol 字符,内部保留原有结构。
总结
在 C# 中进行字符串清洗时,简单的分隔符提取推荐使用内置的 Split 方法,简洁高效。而对于需要去除首尾特定多个字符的场景,上述 TrimStr 自定义实现提供了灵活的控制能力。开发者可根据具体业务需求选择合适的方式处理字符串数据。以上就是 C# 中获取指定字符前的字符串及去除前后指定字符的详细内容,更多关于 C# 字符串处理技巧的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









