【发布时间】:2017-08-26 22:58:43
【问题描述】:
从字符串变量中提取分数的最佳方法是什么。例如从“Match One 2-1 To Red Team”中提取 2-1。
我打算在乐谱周围添加特殊字符并执行类似的操作
string in = "Match One |2-1| To Red Team";
string out = input.Split('|', '|')[1];
但这需要我在 CSV 文件的数百行中添加两个字符。
我可以在破折号上分开吗?以某种方式将数字提取到数组中?
scoreString.Split('-');
感谢任何帮助。
编辑:我已经写了这个并且它有效,但看起来不是很干净。
var splitScores = values[0].ToLower().Trim().Split('-');
var leftScore = Regex.Match(splitScores[0], @"\d+").Value;
var rightScore = Regex.Match(splitScores[1], @"\d+").Value;
【问题讨论】:
-
总是2-1吗?
-
格式是“匹配 [Some Number Word] x-y To [Red or some other color] Team”吗?
-
它总是一个字符串,然后是分数,然后是更多的文本。我清理了使用的示例。
-
string out = in.Split()[2].Split('-')[1];我假设分数将是短语中的第三个单词。如果有点涉及,您可能必须使用正则表达式在短语中查找分数模式。 -
我已经用我想出的方法更新了 OP,但它不是很优雅。字符串的一个确切示例是“伊甸园 100-95 至上要塞”