C#字符串分裂优雅的解决方案

问题描述:

寻找建议和优雅的解决方案提取属性和值到任何方便的数据结构。C#字符串分裂优雅的解决方案

Text="{Binding Path=SelectedValue,Mode=TwoWay}" 

解决办法是有得排序:

List<string1, string2> where string1=Path, string2=SelectedValue 

编辑:

是有可能使通用的,了解这两种方式目前一个:

Command="{Binding ExecuteSearchCommand} 
+0

路径? – mmix 2012-02-23 12:09:19

+1

这个尖叫“正则表达式” – m0skit0 2012-02-23 12:09:27

+0

这看起来像[XAML绑定](http://msdn.microsoft.com/en-us/library/ms752300.aspx)。是吗?如果是这样,你是否需要能够解析整套可能的价值观或仅仅是你给出的明确例子? – 2012-02-23 12:22:41

用途:

var result = Regex.Matches(input, @"(\w+)=(\w+)").Cast<Match>() 
    .Select(m => new 
     { 
      Property = m.Groups[1].Value, 
      Value = m.Groups[2].Value 
     }); 
您想根据名单上的动态生成绑定
+0

组1不是“Path = SelectedValue,Mode”?正则表达式默认是贪婪的(至少在Perl中)。 – m0skit0 2012-02-23 12:10:33

+0

@ m0skit0,'\ w'是字母数字或下划线。因此它不会匹配','。 – 2012-02-23 12:11:52

+0

你是对的,我很愚蠢...... – m0skit0 2012-02-23 12:13:44

如果您可以选择重新格式化您的字符串,以便它匹配JSON规范(即替换为您=:,那么你可以使用以下方法之一):

Parsing JSON using Json.net

Parse JSON in C#