通过使用单词分隔字符串从字符串创建字典

时间:2019-08-08 03:30:10

标签: c# dictionary

Str = 7 X 4 @ 70Hz LUVYG

我想用Hz分割字符串

键:70 X 7 @ 4Hz 值:LUVYG

1 个答案:

答案 0 :(得分:0)

使用正则表达式

^              - start of string
 (.*)          - zero or more characters (Groups[1])
     \s        - whitespace
       (\S*)   - zero or more non-whitespace characters (Groups[2])
            $  - end of string

使用字符串中的最后一个空格作为分隔符,可以将字符串分成两组。

使用此正则表达式,您可以使用LINQ将字符串集合处理成字典:

var unprocessed = new[] { "7 X 4 @ 70Hz LUVYG" };
var dict =
    unprocessed
        .Select(w => Regex.Match(w, @"^(.*)\s(\S*)$"))
        .Where(m => m.Success)
        .ToDictionary(m => m.Groups[1].Value, m => m.Groups[2].Value);