VB.Net 2010 - 需要颠倒字符串(不是字母)的顺序字符串

问题描述:

快乐星期五!VB.Net 2010 - 需要颠倒字符串(不是字母)的顺序字符串

我有一个循环,我输出字符串结果标签,但我要扭转的话...的顺序

因此,而不是显示标签:

查理 测试版 阿尔法

我希望它显示:

阿尔法贝塔 查理

代码:

  For Each CollectionName In CollectionNames 
       lblResult.Text &= vbCrLf + CStr(CollectionName.Name) 
      Next 
+0

只要有空格字符,就可以使用'String.Split'来分词。然后使用'Array.Reverse'来反转单词的顺序,最后使用'String.Join'将单词放回单个字符串中。 – Blackwood

+0

你能通过提供的代码引导我如何看待? – Rico

+0

而拆分将是Environment.NewLine – Rico

下面的函数将一个字符串分割成单词,反向的话,然后生成与该逆转的话的字符串。

Function ReverseWords(input As String) As String 
    Dim words() As String = input.Split(" "c) 
    Array.Reverse(words) 
    Return String.Join(" ", words) 
End Function 

请注意,这假定这些词最初是由空格分隔的。如果他们被别的东西分开,你需要调整参数到Split方法。

您的意见建议您可能只需要将CollectionNames的值反向。在这种情况下,您可以将循环简单改成这样:

For Each CollectionName In CollectionNames 
    lblResult.Text = CStr(CollectionName.Name) & vbCrLf & lblResult.Text 
Next 
+0

这就像一个魅力 – Rico

它使用字符串函数分裂和加入他们面前颠倒顺序。

Function Reverse(ByVal input As String) As String 
     Return String.Join(" ", input.Split(" ").Reverse()) 
    End Function