【发布时间】:2018-10-11 15:02:13
【问题描述】:
我想将该类型的字符串坐标拆分为 -54°32'17,420" 以列出每个数字,例如 [54,32,17,420]。我正在使用
var longitudeSplitted = Regex.Split(longitutdeString, @"\D+")
.Where(s => !string.IsNullOrWhiteSpace(s))
.Distinct()
.Select(int.Parse)
.ToList();
它一般都可以,但是当我有这样的坐标时问题就出现了
-11°42'42,420" 在这种情况下,我收到的列表只有 3 个数字 [11,42,420]。 问题出在哪里?我真的不明白这种行为。
【问题讨论】:
-
删除
Distinct。 -
天啊,当然!谢谢你:)
-
"-11°42'42,420\"".Split("°',.\"".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)然后你可以保留 +/-(还包括使用句点作为小数分隔符的文化的句点) -
来自 goscamp:正如@juharr 所写,不需要区分:)
-
@PanagiotisKanavos 我不明白为什么这不是这个问题的答案。当然,它缺少一点细节,不应该写成评论,但这实际上是这个问题的答案。移除对
Distinct()的调用。