gpt4 book ai didi

c# 获取括号后的第一个 ';'

转载 作者:行者123 更新时间:2023-11-30 20:32:06 24 4
gpt4 key购买 nike

我觉得自己问了一个很可能很愚蠢的问题。

我正在帮助某人获得他希望的自定义​​编译器的结果,该编译器读取一个字符串中的 xml 文件的所有行,因此它看起来如下所示,并且因为他希望它“支持”调用数组中最差的变量案例场景如下所示:

"Var1 = [5,4,3,2]; Var2 = [2,8,6,Var1;4];"

我需要的是找到第一个“;”在“[”和“]”之后将其拆分,所以我支持:

"Var1 = [5,4,3,2];

它还必须支持多个 "[", "]"例如:

"Var2 = [5,Var1,[4],2];"

编辑:最后一个“]”和“;”之间也可能有数据例如:

"Var2 = [5,[4],2]Var1;

我可以在这里做什么?我有点卡住了。

最佳答案

您可以尝试正则表达式,例如

  string source = "Var1 = [5,4,3,2]; Var2 = [2,8,6,Var1;4];";

// 1. final (or the only) chunk doesn't necessary contain '];':
// "abc" -> "abc"
// 2. chunk has at least one symbol except '];'
string pattern = ".+?(][a-zA-Z0-9]*;|$)";

var items = Regex
.Matches(source, pattern)
.OfType<Match>()
.Select(match => match.Value)
.ToArray();

Console.Write(string.Join(Environment.NewLine, items));

结果:

  Var1 = [5,4,3,2]abc123;
Var2 = [2,8,6,Var1;4];

关于c# 获取括号后的第一个 ';',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41955349/

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