我有字符串(来自文件):
[\x22thanh\x22,
[[\x22thanh\\u003Cb\\u003E nien\\u003C\\/b\\u003E\x22,0,[]],
[\x22thanh\\u003Cb\\u003E ca\\u003C\\/b\\u003E\x22,0,[]],
[\x22thanh\\u003Cb\\u003E nhan\\u003C\\/b\\u003E\x22,0,[]],
[\x22thanh\\u003Cb\\u003E thao\\u003C\\/b\\u003E\x22,0,[]]
]
我将此字符串保存为变量名“s”。我希望将“[\ x22”和“\ x22”之间的所有字符串拆分,然后保存到名为“s2”的数组中。我怎么能这样做?非常感谢你!
答案 0 :(得分:3)
您可以执行以下操作:
var myArray = myString.Split("[\x22");
你想删除最后的字符吗?
答案 1 :(得分:2)
string[] s2 = s.Split(new string[] {@"[\x22", @"\x22"},
StringSplitOptions.RemoveEmptyEntries);
答案 2 :(得分:1)
您可以找到第一个\ x22和下一个\ x22字符串的位置。接下来,您应该复制该位置之间的文本。您可以使用IndexOf
方法获得排名。
答案 3 :(得分:1)
string s = @"[\x22thanh\x22,
[[\x22thanh\\u003Cb\\u003E nien\\u003C\\/b\\u003E\x22,0,[]],
[\x22thanh\\u003Cb\\u003E ca\\u003C\\/b\\u003E\x22,0,[]],
[\x22thanh\\u003Cb\\u003E nhan\\u003C\\/b\\u003E\x22,0,[]],
[\x22thanh\\u003Cb\\u003E thao\\u003C\\/b\\u003E\x22,0,[]]
]";
string start = @"[\x22";
string end = @"\x22";
int pos = -1;
List<string> list = new List<string>();
while ((pos = s.IndexOf(start)) > -1)
{
s = s.Substring(pos + start.Length);
if ((pos = s.IndexOf(end)) > -1)
{
list.Add(s.Substring(0, pos));
s = s.Substring(pos + end.Length);
}
else
break;
}
string[] s2 = list.ToArray();
修改强>
使用Split
:
string[] s2 = s.Split(new string[] { @"[\x22" },
StringSplitOptions.RemoveEmptyEntries)
.Select(i => i.Substring(0, i.IndexOf(@"\x22")))
.ToArray();