正则表达式替换字符串中的数字交换顺序

时间:2015-06-15 14:00:49

标签: c# regex linq

我把这个linq查询放在一起,交换列表中的数字。我想知道是否使用正则表达式是一种优雅的方式。

var str = " <gml:coordinates>36.230968,21.971054 36.633873,19.144154 38.007656,19.423254 37.606049,22.303988 36.230968,21.971054</gml:coordinates>";
var test = string.Format("<gml:coordinates>{0}</gml:coordinates>", string.Join(" ", Regex.Match(str, "<gml:coordinates>(.*)</gml:coordinates>").Groups[1].Value.Split(' ').Select(d => string.Join(",", d.Split(',').Reverse()))));
//<gml:coordinates>21.971054,36.230968 19.144154,36.633873 19.423254,38.007656 22.303988,37.606049 21.971054,36.230968</gml:coordinates>

1 个答案:

答案 0 :(得分:3)

以下内容应该有效:

Regex.Replace(str, @"([\d.]*),([\d.]*)", "$2,$1")