什么是拆分“;{a},{b},{c}]”;转换成字符串阵列“”;a、 b、c”;
本文关键字:字符串 阵列 拆分 什么 转换 | 更新日期: 2023-09-27 17:50:56
将"[{a},{b},{c}]"拆分为string
阵列t
的最佳方式是什么,例如:
t[0] == "a"
t[1] == "b"
t[2] == "c"
将输入字符串视为逐字逐句的,方括号和花括号确实存在。
更新:以下是我需要拆分的更具体的示例
[{ pk:"4",id:"4",cb_program_id:"2.0000",DataSource:"1",Status:"0",CutoffDate:"15/10/2012 14:05:04" },
{ pk:"3",id:"3",cb_program_id:"2.0000",DataSource:"1",Status:"0",CutoffDate:"15/10/2012 14:05:02" }, ... ]
使用String.Split
清除所有不需要的字符。
"[{a},{b},{c}]".Split(new char[] {'[', ']', '{', '}', ','}, StringSplitOptions.RemoveEmptyEntries);
编辑:在OP的编辑之后,@Daniel的回答更适合于维护子字符串的完整性。
var t = s.Trim('[', ']').Split(',').Select(x => x.Trim('{', '}')).ToArray();
这将首先删除由逗号分隔的外括号,并删除结果开头和结尾的大括号。
要覆盖逗号或大括号等嵌入的特殊字符,您需要对它们进行转义,否则将存在可能以多种方式拆分的不明确字符串。
这是一个工作示例:
string str = "[{a},{b},{c}]";
string[] t = str.Split(new char[] { '[', ']', '{', '}', ',' },
StringSplitOptions.RemoveEmptyEntries)
.ToArray();
输出:
t[0] == "a"
t[1] == "b"
t[2] == "c"