也许这是一个愚蠢的问题。但我还没有找到答案。 我有一些字符串。我想连接它们然后在不同的时刻拆分结果字符串。我想知道.NET Framework中是否有可用的东西。 String的Join和Split方法工作得很好。问题是转义分隔符。
例如,我想使用" @"作为分隔符。如果我有" String1"," Str @ ing2"和" String3",我想获得" String1 @ Str @@ ing2 @ String3"。
有什么东西可以满足我的需要或者我必须编写自己的功能吗?
谢谢。
答案 0 :(得分:2)
在途中逃离分隔符。
var inputs = ["String1", "Str@ing2", "String3"];
var joined = string.Join(inputs.Select(i => i.Replace("@", "@@"));
然后,您可以拆分单@
个字符。
var split = Regex.Split(joined, "(?<!@)@(?!@)");
这使用零宽度负向lookbehind / lookahead patterns在@
不是另一个@
之前和之后断言字符。您应该对@
位于输入字符串的开头或结尾的情况运行一些测试。
答案 1 :(得分:0)
在将每个字符串传递给.Replace("@", "@@")
.Join