最佳 将“{{a},{b},{c}]”拆分为string
数组{{1}的方法是什么?例如:
t
将输入字符串视为逐字,方括号和大括号实际存在。
更新 这是我需要拆分的更具体的样本
t[0] == "a"
t[1] == "b"
t[2] == "c"
答案 0 :(得分:6)
使用String.Split
删除所有不需要的字符。
"[{a},{b},{c}]".Split(new char[] {'[', ']', '{', '}', ','}, StringSplitOptions.RemoveEmptyEntries);
编辑:在OP的编辑之后,@ Daniel的答案更适合维护子串的完整性。
答案 1 :(得分:4)
var t = s.Trim('[', ']').Split(',').Select(x => x.Trim('{', '}')).ToArray();
这将首先删除外部括号,用逗号分隔,并在结果的开头和结尾删除花括号。
要覆盖嵌入的特殊字符(如逗号或花括号),您需要转义它们,因为否则会存在可以多种方式拆分的不明确的字符串。
答案 2 :(得分:0)
这是工作示例:
string str = "[{a},{b},{c}]";
string[] t = str.Split(new char[] { '[', ']', '{', '}', ',' },
StringSplitOptions.RemoveEmptyEntries)
.ToArray();
输出:
t[0] == "a"
t[1] == "b"
t[2] == "c"