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

如何移除C#字符串数组元素中的指定字符$?

C#移除字符串数组中指定字符并清理空格的实现方案

给定包含目标字符串的数组和要移除的字符$,要得到无$且格式整洁的结果,可以通过以下几种方式实现:

方法一:基础替换+空格清理(适合单元素数组)

直接针对数组中的目标字符串,先移除指定字符,再清理多余空格:

string[] StringArray = { "foo bar foo $ bar $ foo bar $" };
string check = "$";

// 移除所有$字符
string temp = StringArray[0].Replace(check, string.Empty);
// 拆分并重新拼接,去除多余空格和首尾空字符
string result = string.Join(" ", temp.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));

Console.WriteLine(result); // 输出:foo bar foo bar foo bar

方法二:LINQ批量处理(适合多元素数组)

如果数组包含多个需要处理的字符串,用LINQ遍历处理每个元素:

using System.Linq;

string[] StringArray = { "foo bar foo $ bar $ foo bar $", "test $ string $ here" };
string check = "$";

var processedArray = StringArray.Select(str => 
    string.Join(" ", str.Replace(check, string.Empty).Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries))
).ToArray();

// 遍历输出结果
foreach (var item in processedArray)
{
    Console.WriteLine(item);
}

方法三:正则表达式简化处理

用正则一步完成空格清理,代码更简洁:

using System.Text.RegularExpressions;

string[] StringArray = { "foo bar foo $ bar $ foo bar $" };
string check = "$";

// 先移除$,再把所有连续空格替换为单个,最后去除首尾空格
string result = Regex.Replace(StringArray[0].Replace(check, string.Empty), @"\s+", " ").Trim();

Console.WriteLine(result);

说明

  • Replace(check, string.Empty)会直接移除所有指定的$字符;
  • 清理空格的步骤是为了避免移除$后出现的连续空格和末尾空格,保证输出格式和示例一致;
  • 如果不需要清理空格(比如原字符串中$前后无空格),可以只保留Replace步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:55:16