【问题标题】:Create a dictionary from a string by separating the string using a word通过使用单词分隔字符串来从字符串创建字典
【发布时间】:2019-12-15 16:55:34
【问题描述】:

Str = 7 X 4 @ 70Hz LUVYG

我想用Hz分割字符串

键:7 X 4 @ 70Hz 价值:LUVYG

【问题讨论】:

  • 这个问题似乎根本没有包括任何解决问题的尝试。 StackOverflow 期待您 try to solve your own problem first,因为您的尝试有助于我们更好地了解您想要什么。请编辑问题以显示您尝试过的内容,并使用Minimal, Complete, and Verifiable example 显示您遇到的特定障碍。欲了解更多信息,请参阅How to Ask
  • 在回答完您的问题后,我会鼓励您以后尽可能多地提问,就像我刚才回答的时间一样。仔细阅读 help center 部分,遵守规则,您在 stackoverflow 上的体验会更加积极。

标签: c# dictionary


【解决方案1】:

用正则表达式

^ - 字符串的开头 (.*) - 零个或多个字符(Groups[1]) \s - 空格 (\S*) - 零个或多个非空白字符 (Groups[2]) $ - 字符串结尾

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

使用这个正则表达式,您可以使用 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);

【讨论】:

    猜你喜欢
    • 2011-09-11
    • 2012-05-13
    • 2022-01-07
    • 2011-11-29
    • 2021-12-01
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    相关资源
    最近更新 更多