连接和分割字符串

本文关键字:字符串 分割 连接 | 更新日期: 2023-09-27 18:03:28

也许这是一个愚蠢的问题。但我还没有找到答案。我有一些绳子。我想将它们连接起来,然后在不同的时刻拆分结果字符串。我想知道是否有。net框架内可用的东西。String的Join和Split方法工作得很好。问题是转义分隔符

例如,我想使用"@"作为分隔符。如果我有"String1","Str@ing2"answers"String3",我想获得"String1@Str@@ing2@String3"。

是否有我需要的东西,或者我必须编写自己的函数?

谢谢。

连接和分割字符串

在进入的时候直接转义分隔符。

var inputs = ["String1", "Str@ing2", "String3"];
var joined = string.Join(inputs.Select(i => i.Replace("@", "@@"));

然后可以拆分单个@字符。

var split = Regex.Split(joined, "(?<!@)@(?!@)");

使用零宽度负向后看/向前看模式来断言@之前和之后的字符不是另一个@。但是,您应该在@位于输入字符串的开始或结束的情况下运行一些测试。

在将每个字符串传递给.Join之前先调用.Replace("@", "@@")