You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除制表符后空格及行尾空格?C#代码优化求助

解决方案

针对你的需求,分两步处理字符串即可解决问题,以下是优化后的C#代码及说明:

处理逻辑

  1. 保留制表符,删除其后的空格:匹配制表符\t后跟一个或多个空格的组合,仅保留制表符;
  2. 删除每行末尾的空格:在多行模式下匹配每行结尾的空白字符,替换为空。

完整代码

using System.Text.RegularExpressions;

public string CleanContent(string content)
{
    // 保留制表符,删除制表符后的所有空格
    content = Regex.Replace(content, @"(\t)\s+", "$1");
    
    // 删除每行末尾的空白(含空格、制表符等),需启用多行模式
    content = Regex.Replace(content, @"\s+$", "", RegexOptions.Multiline);
    
    return content;
}

关键说明

  • 你之前的正则@"\s+$"无效,是因为默认情况下$仅匹配整个字符串的结尾,添加RegexOptions.Multiline后,$会匹配每行的换行符前的位置,才能正确删除每行末尾的空格;
  • 若仅需删除每行末尾的空格(不包含制表符),可将第二个正则改为@" +$";
  • 测试示例:输入字符串"LastNameEmployee\t task\nTestLine ",处理后会变为"LastNameEmployee\ttask\nTestLine"。

内容的提问来源于stack exchange,提问作者Dunkeltod 13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 19:42:10