C# - 重新组织文本字符串

时间:2011-09-11 15:58:34

标签: c# string

我有一串文字:AB CD EF GH 我想反转文本,所以它看起来像这样:GH EF CD AB

因此,AB CD EF GH将成为GH EF CD AB

5 个答案:

答案 0 :(得分:5)

好吧,如果它只是分隔部件的空间,你可以很容易地做到这一点:

string reversed = string.Join(" ", text.Split(' ').Reverse());

在.NET 3.5中,由于string.Join在.NET 4上没有相同的重载,你需要额外调用ToArray:

string reversed = string.Join(" ", text.Split(' ').Reverse().ToArray());

使用Array.Reverse可以更有效地完成现场反转拆分数组:

string[] parts = text.Split(' ');
Array.Reverse(parts);
string reversed = string.Join(" ", parts);

......但差异是否重要是否更值得怀疑:)

答案 1 :(得分:2)

String.Join(" ",("AB CD EF GH".Split(' ').Reverse()))

基本上:在空格上拆分输入字符串,这样就有了一个“AB”,“CD”,“EF”和“GH”数组。然后反转该数组,并使用空格字符作为粘合剂将数组的各个部分再次作为字符串连接在一起。

答案 2 :(得分:0)

一种方法是拆分成一个字符串数组(看看string.Split),使用Array.Reverse

http://msdn.microsoft.com/en-us/library/d3877932.aspx

然后再次将结果字符串与空格连接(string.Join)。

答案 3 :(得分:0)

将其拆分为数组,反转数组并加入它:

string.Join(" ", "AB CD EF GH".Split(' ').Reverse().ToArray());

答案 4 :(得分:0)

此代码段使用System(对于StringSplitOptions)和System.Linq(对于Reverse())

string input = "AB CD EF GH";

此数组包含所有单词分隔符,例如空格,逗号,点等。

var wordSeparators = new string[] { " " };

用于string.Split分割字符串的方法。 StringSplitOptions用于删除两个单词分隔符之间可能出现的所有空字符串(例如双精度空格或逗号和空格)。

var words = input.Split(wordSeparators, StringSplitOptions.RemoveEmptyEntries);

然后,您只需要对reverse个单词进行排序,并使用string.Join方法将它们连接成单个字符串即可。

var result = string.Join(" ", words.Reverse());