gpt4 book ai didi

c# - 如何拆分包含方括号和空格的字符串

转载 作者:行者123 更新时间:2023-12-04 07:41:18 25 4
gpt4 key购买 nike

我正在尝试拆分以下字符串:

"add galaxy [Milky way] elliptical 13.2B"
我想要实现的结果数组应包含以下字符串:
"add","galaxy","Milky way","eliptical","13.2B"
我尝试使用 string.Split() 并尝试使用不同的方法参数,但没有达到我想要的效果。
我怎样才能达到这个结果?
编辑:
我找到了一种使用正则表达式的方法。
@"[A-Za-z0-9.]+|(#.*?#)|(\[.*?\])"

最佳答案

这是一个快速而肮脏的解决方案。不考虑多个空格或多个嵌套的可能性 [[[]]]尽管。

string[] split(string s)
{
List<string> list = new List<string>();
int start = 0;
int end = 0;
bool inBlock = false;

for(; end < s.Length; end++)
{
if (s[end] == '[')
{
inBlock = true;
start++;
}
else if(s[end] == ']' && inBlock)
{
inBlock = false;
list.Add(s.Substring(start, end - start));
end++;
start = end + 1;
}
else if(s[end] == ' ' && !inBlock)
{
list.Add(s.Substring(start, end - start));
start = end + 1;
}
}
if(end > start)
list.Add(s.Substring(start, end - start));

return list.ToArray();
}

关于c# - 如何拆分包含方括号和空格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67449887/

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