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

字符串字符替换是否有快捷方式?替代多次Replace实现格式转换

替代多次Replace处理JSON格式字符串的快捷方法

现有输入字符串:

string x = "[\r\n  \"TEST\",\r\n  \"GREAT\"\r\n]";

期望输出:

TEST,GREAT

当前通过多次调用Replace方法处理,希望找到更简洁的替代方案,结果可为字符串或List<string>。


方法1:JSON反序列化(推荐)

你的输入本质是标准JSON数组,用.NET自带的JSON库或第三方库反序列化是最可靠的方案,能兼容复杂场景(比如元素含特殊字符),无需手动处理格式符号。

用.NET原生System.Text.Json(.NET Core 3.0+/.NET 5+)

using System.Text.Json;

string x = "[\r\n  \"TEST\",\r\n  \"GREAT\"\r\n]";
// 反序列化为字符串列表
List<string> strList = JsonSerializer.Deserialize<List<string>>(x);
// 拼接成目标字符串
string result = string.Join(",", strList);

用Newtonsoft.Json(Json.NET)

如果项目中已引用Json.NET,也可以用这个:

using Newtonsoft.Json;

string x = "[\r\n  \"TEST\",\r\n  \"GREAT\"\r\n]";
List<string> strList = JsonConvert.DeserializeObject<List<string>>(x);
string result = string.Join(",", strList);

方法2:正则表达式提取

如果能确定输入格式简单(元素不含转义引号、逗号等特殊字符),可以用正则直接提取双引号内的内容:

using System.Text.RegularExpressions;
using System.Linq;

string x = "[\r\n  \"TEST\",\r\n  \"GREAT\"\r\n]";
// 匹配所有被双引号包裹的内容
var matches = Regex.Matches(x, @"\""([^\""]+)\""");
List<string> strList = matches.Cast<Match>().Select(m => m.Groups[1].Value).ToList();
string result = string.Join(",", strList);

注意:如果元素包含转义引号(如"HE\"LLO"),正则会失效,优先用JSON反序列化方案。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 12:40:11