c#中的多个分割字符串
本文关键字:分割 字符串 | 更新日期: 2023-09-27 18:09:32
我不知道如何分割这个字符串:
字符串是'Allocation: Randomized, Endpoint Classification: Safety Study, Intervention Model: Single Group Assignment, Masking: Double Blind (Subject,
Caregiver, Investigator, Outcomes Assessor), Primary Purpose: Treatment'
当前使用的分割语法:
string.Split(',');
导致:
[0]: Allocation: Randomized
[1]: Endpoint Classification: Safety Study
[2]: Intervention Model: Single Group Assignment
[3]: Masking: Double Blind (Subject,
[4]: Caregiver,
[5]: Investigator,
[6]: Outcomes Assessor)
[7]: Primary Purpose: Treatment
但是我想要的结果是:
[0]: Allocation: Randomized
[1]: Endpoint Classification: Safety Study
[2]: Intervention Model: Single Group Assignment
[3]: Masking: Double Blind (Subject, Caregiver, Investigator, Outcomes Assessor)
[4]: Primary Purpose: Treatment
有人能帮我纠正我的字符串分割语法吗?
在这种情况下我将使用RegEx
string input = "Allocation: Randomized, Endpoint Classification: Safety Study, Intervention Model: Single Group Assignment, Masking: Double Blind (Subject, Caregiver, Investigator, Outcomes Assessor), Primary Purpose: Treatment";
string[] result = System.Text.RegularExpressions.Regex.Split(input, @",(?![^(]*'))");
注意:嵌套括号
尝试使用Split(':')而不是Split(','),然后遍历数组并将每两个成员添加在一起。之后,你需要在每个字符串上使用TrimEnd(',')或TrimStart(',')以使其完全按照你所要求的方式格式化。
可以像这样加在一起:
for each (int i in Array)
{
[i] = [i]+[i+1];
i++;
}
你可以先在(
和)
分裂,这样你就会得到可以进一步分裂的部分(在(
之前)和不应该分裂的部分(在(
之后,在)
之前)。
然后,您将通过,
拆分所有创建的块,但是由于您了解每个"括号"块,您可以根据需要重新连接小块。
很抱歉没有提供样品,在手机上打字太麻烦了。