拆分c#中的大字符串并将其中的值添加到列表中

拆分c#中的大字符串并将其中的值添加到列表中,c#,.net,string,list,split,C#,.net,String,List,Split,我有一个字符串,如下所示 string names = "<?startname; Max?><?startname; Alex?><?startname; Rudy?>"; 字符串名称=”; 是否有任何方法可以拆分此字符串并将Max、Alex和Rudy添加到单独的列表中?当然,可以拆分两个字符串(所有始终在前面的字符串和所有始终在后面的字符串),并指定要拆分以删除空字符串: var r = names.Split(new[]{ &qu

我有一个字符串,如下所示

string names = "<?startname; Max?><?startname; Alex?><?startname; Rudy?>";
字符串名称=”;

是否有任何方法可以拆分此字符串并将Max、Alex和Rudy添加到单独的列表中?

当然,可以拆分两个字符串(所有始终在前面的字符串和所有始终在后面的字符串),并指定要拆分以删除空字符串:

var r = names.Split(new[]{ "<?startname; ", "?>" }, StringSplitOptions.RemoveEmptyEntries);
var r=names.Split(新[]{”“},StringSplitOptions.RemoveEmptyEntries);
如果去掉RemoveEmptyEntries,您将更清楚地了解拆分的工作方式,但实际上如果没有它,您的名称将被散布在空字符串的数组条目中,因为split在分隔符之间找到了一个带空字符串的分隔符(

您可以阅读有关此拆分形式的大量信息-这是到netcore3.1的直接链接,您可以在目录中更改您的版本-此拆分变体自framework2.0以来一直可用



您也说过“添加到一个单独的列表”-没有看到任何代码,所以我想您可能会很乐意继续使用
r
这里的“一个单独的列表”(实际上是一个数组,但如果没有,可能与LINQ的ToList()完全等效,并且很容易转换),或者如果您有另一个名称列表(这实际上是一个
列表
)然后您可以
thatList.AddRange(r)
it

当然,在两个字符串上拆分(所有始终在前面的字符串,所有始终在后面的字符串),并指定要拆分以删除空字符串:

var r = names.Split(new[]{ "<?startname; ", "?>" }, StringSplitOptions.RemoveEmptyEntries);
var r=names.Split(新[]{”“},StringSplitOptions.RemoveEmptyEntries);
如果去掉RemoveEmptyEntries,您将更清楚地了解拆分的工作方式,但实际上如果没有它,您的名称将被散布在空字符串的数组条目中,因为split在分隔符之间找到了一个带空字符串的分隔符(

您可以阅读有关此拆分形式的大量信息-这是到netcore3.1的直接链接,您可以在目录中更改您的版本-此拆分变体自framework2.0以来一直可用



您也说过“添加到一个单独的列表”-没有看到任何代码,所以我想您可能会很乐意继续使用
r
这里的“一个单独的列表”(实际上是一个数组,但如果没有,可能与LINQ的ToList()完全等效,并且很容易转换),或者如果您有另一个名称列表(这实际上是一个
列表
)然后你可以
thatList.AddRange(r)
it

另一个想法是使用Regex

以下正则表达式应该可以工作:
(?)
另一个想法是使用Regex

以下正则表达式应该可以工作:
(?)

你能
上的string.Split
吗你能
上的string.Split