C# 中获取指定字符前字符串及去除前后字符的方法

Finn
Finn
发布时间:2026-10-15 | 5人浏览过
原创

在C#编程中,处理字符串时经常需要提取分隔符前的内容或清理首尾冗余字符。本文将介绍如何利用Split方法快速截取指定字符前的字符串,以及如何编写自定义函数去除字符串前后的任意指定符号。

获取指定字符前的字符串

第1步:使用 Split 方法分割字符串

目的:将包含分隔符(如“|”)的完整字符串拆分为数组,并提取分隔符前的第一部分。

操作入口:C# 语言基础语法。

动作说明:

  1. 获取目标字符串(例如 ComboBox 的 Text 属性值)。
  2. 调用 string.Split() 方法,传入目标分隔符作为参数。
  3. 获取返回的字符串数组索引为 [0] 的元素,即为分隔符前的内容。

重要参数:

  • 分隔符:通常是单个字符,如 '|'。
  • 方法:Split(char)。
// 假设 ComBoBox.Text 的值为 "100088|仓库编码1"
// 1. 先修剪空白字符,再按 "|" 分割
string[] arry = ComBoBox.Text.Trim().Split('|');

// 2. 取第一个元素,即得到 "100088"
string result = arry[0];

完成状态:变量 result 中存储了分隔符前的纯数字或文本内容,可直接用于后续逻辑。

去除字符串前后任意指定字符

第1步:定义自定义 TrimStr 方法

目的:移除字符串开头和结尾出现的特定符号(如逗号、竖线等),类似内置 Trim 但支持自定义字符集。

操作入口:静态工具类中的公共方法。

动作说明:

  1. 检查输入字符串是否为空或 null,若是则直接返回空字符串。
  2. 将字符串转换为字符数组以便逐个访问。
  3. 从左侧开始扫描,跳过所有等于目标符号的字符,记录起始位置 st。
  4. 从右侧开始扫描,跳过所有等于目标符号的字符,记录结束长度 len。
  5. 判断有效区间,若起始位置大于等于结束长度,说明全部被清除,返回空字符串;否则截取中间部分。

重要参数:

  • 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# 字符串处理技巧的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表