0

拆分字符串并以不同的顺序将其重新组合在一起的最简洁但可读的方法是什么。例如,我想拆分以下字符串:

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);
4

3 回答 3

4
string modified = string.Format("{2}-{1}-{0}-{3}-{4}", tokens);
于 2012-10-24T16:53:37.410 回答
2

采用String.Concat()

string modified = String.Concat(tokens[2], "-", tokens[1], "-", 
                                tokens[0], "-", tokens[3], "-", tokens[4]);
于 2012-10-24T16:54:42.493 回答
2

如果你想使用join,你可以重新排序的元素tokens

// swap tokens #0 and #2:
string tmp = tokens[2];
tokens[2] = tokens[0];
tokens[0] = tmp;

string modified = String.join("-", tokens);
于 2012-10-24T16:55:35.490 回答