C# 中去除字符串空格的两种常用方法

小林子
小林子
发布时间:2026-10-15 | 6人浏览过
原创

在处理文本数据时,清理字符串中的冗余空格是常见需求。C# 提供了内置的 String 方法以及强大的正则表达式库来处理此类问题。

结果目标与准备条件

我们的目标是去除字符串两端的空格,并根据需要将中间连续的多个空格合并为单个空格或完全移除。开发环境需具备基本的 C# 控制台应用程序支持。

第1步:使用内置方法 Trim 与 Split/Join

目的:仅去除首尾空格,或利用数组操作规范化内部结构。

操作入口:Visual Studio 或任何 C# IDE。

动作说明:

  1. 定义原始字符串,其中包含前后及中间的不规则空格。
  2. 调用 .Trim() 去除两端空格。
  3. 使用 .Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries) 将字符串按空格拆分为无空元素数组,这能自动过滤掉连续空格产生的空项。
  4. 使用 string.Join(" ", strArray) 将数组重新拼接,参数指定分隔符为单空格。
class Program
{
    static void Main(string[] args)
    {
        //原字符串
        string str = " hello     world,你 好 世界   !   ";
        
        //去掉两端空格
        str = str.Trim();
        
        //以空格切割,移除空条目
        string [] strArray = str.Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries);
        
        //以空格连接
        string newStr = string.Join(" ", strArray);
        
        Console.WriteLine(newStr);
        Console.ReadKey();
    }
}

完成状态:控制台输出为 "hello world,你 好 世界 !",注意此方法保留了中文语境下的语义空格(如果业务需要完全移除所有非首尾空格,需调整逻辑)。

第2步:使用正则表达式替换

目的:一次性规范所有空白字符,包括将连续空格合并为一个,并清理两端。

操作入口:引入 System.Text.RegularExpressions 命名空间。

动作说明:

  1. 使用 Regex.Replace 方法。
  2. 匹配模式设置为 "\s+",该正则表达式代表一个或多个空白字符(包括空格、制表符等)。
  3. 替换字符串设为单个空格 " "。
  4. 链式调用 .Trim() 清理因替换可能遗留的首尾空格。
class Program
{
    static void Main(string[] args)
    {
        //原字符串
        string str = " hello     world,你 好 世界   !   ";
        
        //正则替换:将所有连续空白替换为单个空格,再修剪两端
        string s = Regex.Replace(str, @"\s+", " ").Trim();
        
        Console.WriteLine(s);
        Console.ReadKey();
    }
}

完成状态:输出结果为 "hello world,你 好 世界 !",该方法对纯英文或混排字符串的规范化更为简洁高效。

简要总结

对于简单的两端去空,直接使用方法 Trim();若需彻底清洗字符串内所有冗余空格使其紧凑或规范化,推荐使用正则表达式 Regex.Replace(str, "\\s+", " ").Trim()。以上关于 C# 去除空格的方法详细内容,更多关于 C# 字符串处理的资料请关注本站其它相关文章!

本站声明

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

Python 相关产品和应用

全部下载

专题列表