如何在最后一个括号中拆分 C# 中的字符串
本文关键字:拆分 字符串 最后一个 | 更新日期: 2023-09-27 18:35:31
你好,我需要拆分一个字符串,例如这个字符串:
str.Append("INSERT INTO enquete_antwoord (enquete_vraag_ID, enquete_antwoord, kdv_ID, semesterstart, semestereind, semester) VALUES ('" + reader2["enquete_vraag_ID"].ToString() + "', '" + antwoord + "', '" + id + "', 2013-12-12, 2014-12-12, 1)").ToString();
我需要拆分的是最后一个)"
但我不能拆分它:
string[] commands = str.Split(new string[] { ")"" }, StringSplitOptions.None);
我会避免使用StringBuilder
(这是我假设您现在正在使用的),而是使用List<string>
作为所需的存储。
这样,您就可以将所有 SQL 语句添加到此列表中,然后决定将多少个语句集中到一个批处理中以发送到服务器或文件,或者您拆分它的任何原因。
换句话说,这是我要做的:
list.Add("INSERT INTO enquete_antwoord (enquete_vraag_ID, enquete_antwoord, kdv_ID, semesterstart, semestereind, semester) VALUES ('" + reader2["enquete_vraag_ID"].ToString() + "', '" + antwoord + "', '" + id + "', 2013-12-12, 2014-12-12, 1)");
list.Add("INSERT INTO enquete_antwoord (enquete_vraag_ID, enquete_antwoord, kdv_ID, semesterstart, semestereind, semester) VALUES ('" + reader2["enquete_vraag_ID"].ToString() + "', '" + antwoord + "', '" + id + "', 2013-12-12, 2014-12-12, 1)");
list.Add("INSERT INTO enquete_antwoord (enquete_vraag_ID, enquete_antwoord, kdv_ID, semesterstart, semestereind, semester) VALUES ('" + reader2["enquete_vraag_ID"].ToString() + "', '" + antwoord + "', '" + id + "', 2013-12-12, 2014-12-12, 1)");
...
string first100 = string.Join(Environment.NewLine, list.Take(100));
string next100 = string.Join(Environment.NewLine, list.Skip(100).Take(100));
.. and so on, (use a loop for this though)
其他注意事项:
- 您在该SQL中编写日期的方式是错误的,您需要将它们写成具有正确格式的字符串
- 确保添加必要的保证,以免因此而受到注入攻击,因为当您将 SQL 语句和值连接在一起作为字符串时,总是有机会。
这
肯定会起作用
string[] commands = str.Split(new string[] { @")""" }, StringSplitOptions.None);