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

有人能帮我纠正我的字符串分割语法吗?

c#中的多个分割字符串

在这种情况下我将使用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++;
}

你可以先在()分裂,这样你就会得到可以进一步分裂的部分(在(之前)和不应该分裂的部分(在(之后,在)之前)。
然后,您将通过,拆分所有创建的块,但是由于您了解每个"括号"块,您可以根据需要重新连接小块。

很抱歉没有提供样品,在手机上打字太麻烦了。