分割字符串并将其以不同顺序重新连接在一起的最简洁,最易读的方法是什么。例如,我想拆分以下字符串:
10-20-30-4000-50000
我会通过以下方式执行此操作:
string[] tokens = original.Split('-');
现在我想按照这个顺序把它重新组合在一起:
30-20-10-4000-50000
我知道我可以使用Join
将它重新组合成原始形式,但我不希望这样。我现在唯一能想到的是:
string modified = string.Format("{0}{1}{2}{3}{4}",tokens[2],tokens[1],tokens[0],tokens[3], tokens[4]);
我意识到如果我这样做:
string modified = string.Format("{2}{1}{0}{3}{4}", tokens);
它没有保留破折号,这就是我想要的那样做,我应该这样做:
string modified = string.Format("{2}-{1}-{0}-{3}-{4}", tokens);
答案 0 :(得分:4)
string modified = string.Format("{2}-{1}-{0}-{3}-{4}", tokens);
答案 1 :(得分:2)
使用String.Concat()
string modified = String.Concat(tokens[2], "-", tokens[1], "-",
tokens[0], "-", tokens[3], "-", tokens[4]);
答案 2 :(得分:2)
如果您想使用join
,只需重新排序tokens
的元素:
// swap tokens #0 and #2:
string tmp = tokens[2];
tokens[2] = tokens[0];
tokens[0] = tmp;
string modified = String.join("-", tokens);