gpt4 book ai didi

c# - 如何按特定模式拆分字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 23:04:23 25 4
gpt4 key购买 nike

我有一个字符串

String value ="[xasx1xx]Data1[/xasx1xx][xx22x]Data2[/xx22x][1x22aaaaax]Data3[/1x22aaaaax]";

我想在关键字 "[xxxxx]""[xxxxx]" 之间拆分字符串,其中 [xxxxx] 是随机的创建。这样我就有了类似的输出

  • 数据1
  • 数据2
  • 数据3

如有任何帮助,我们将不胜感激。

最佳答案

您可以使用正则表达式 Lookaround(Zero length assertion)按照您的期望获得匹配的数据。要从上述数据中获取数据,可以使用 positive lookaheadpostive lookbehind通过以下方式:

(?<=\]).*?(?=\[)

(?<=\]) : positive lookbehind它在方括号结束后查找数据(])

(?=\[) : positive lookahead它在方括号 ([) 开始之前查找数据

C# ,您可以使用上述模式与 Regex 提取匹配数据图书馆。

string input = "[xasx1xx]Data1[/xasx1xx][xx22x]Data2[/xx22x][1x22aaaaax]Data3[/1x22aaaaax]";
MatchCollection matchCollection = Regex.Matches(input, @"(?<=\]).*?(?=\[)");
var list = matchCollection.Cast<Match>().Where(x => !string.IsNullOrWhiteSpace(x.Value))
.Select(x=>x.Value); // list contains matching data without empty entry

关于c# - 如何按特定模式拆分字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41842422/

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