gpt4 book ai didi

c# - 如何通过加倍正则表达式中的定界符来转义定界符

转载 作者:行者123 更新时间:2023-11-30 15:24:56 27 4
gpt4 key购买 nike

我需要在分隔符处拆分字符串,但不是分隔符加倍的地方。

例如 "\m55.\m207|DEFAULT||DEFAULT|55||207" 一旦拆分应该导致

  • \m55.\m207
  • 默认||默认
  • 55||207

我正在尝试使用正则表达式执行此操作。如果它有所作为,我正在使用 C# System.Text.RegularExpression.Regex

到目前为止,我有 "[^|]\|[^|]" 但这不处理转义分隔符在分隔符旁边的位置。 IE |||

我确信网上有解决方案,但我尝试使用多个不同的术语进行搜索,但找不到正确的术语组合来找到它。

如何通过在正则表达式中加倍来转义分隔符?或者如果有更简单的解决方案是什么?

编辑

这是一个更复杂的例子:

输入:“\m55.\m207|默认||默认|||55||207”预期输出:

  • “\m55.\m207”
  • “默认||默认||”
  • “55||207”

最佳答案

因为你的demo很简单,只是想用单个|分割,所以我这里可以用\b

string txt = @"\m55.\m207|DEFAULT||DEFAULT|55||207";
string patten = @"\b\|\b";
foreach (var str in Regex.Split(txt, patten))
{
Console.WriteLine(str);
}

关于c# - 如何通过加倍正则表达式中的定界符来转义定界符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32004306/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com