返回首页

我想要写一个代码交换的话,在一个字符串。
输入 - 我喜欢蛋糕
输出 - 我喜欢的蛋糕

要做到这一点,这将是巨大的,如果有一种方法来确定,每个word.Like
指数1 - 我
2 - 喜欢
3 - 蛋糕
然后,我可以交换words.But我不知道如何做到这一点。
目前,我写的代码来计算字符串中的数目字,并获得平均。


        Dim str As String = Me.t1.Text

        Dim strA() As String = str.Split(" ")

        Dim TChrs As Int32

        Dim i As Int32

        For i = strA.Length - 1 To 0 Step -1

            TChrs += strA(i).Length

        Next

        MsgBox("Number of words = " & strA.Length)

        MsgBox("Average Length = " & TChrs / strA.Length)

请任何一个可以帮助我

回答

评论会员:游客 时间:2012/02/07
LanFanNinja:这里是我的新的解决方案,您使用堆的算法来​​确定你输入字符串的所有可能的排列。请给我留下了评论,让我知道它是如何为你工作。标志着作为一个答案,这将是很好的。{S0的}编辑:改变从C#到VB(我忘了){S0的}这里是从我的测试,在这个特殊的字符串输出。{BR​​}我喜欢蛋糕喜欢我的蛋糕蛋糕我喜欢我的蛋糕像}像蛋糕我{BR蛋糕,像我//////////////////////////////////////////////////////////原来的解决方案/////////////////////////////////////////////////////////试试这个codeprelang="vb"spanclass="code-keyword"Dim/spanoriginalspanclass="code-keyword"As/spanspanclass="code-keyword"String/span=spanclass="code-string""/spanspanclass="code-string"Ilikecake"/spanspanclass="code-keyword"Dim/spanwordsspanclass="code-keyword"As/spanspanclass="code-keyword"String/span()=original.Split(spanclass="code-keyword"New/spanspanclass="code-keyword"Char/span(){spanclass="code-string""/spanspanclass="code-string""/span},StringSplitOptions.RemoveEmptyEntries)Array.Reverse(words)spanclass="code-keyword"Dim/spanreversedspanclass="code-keyword"As/spanspanclass="code-keyword"String/span=spanclass="code-keyword"String/span.Join(spanclass="code-string""/spanspanclass="code-string""/span,words)/pre/code扭转会像我的"蛋糕"//////////////////////////////////////////////////////////完原来的解决方案/////////////////////////////////////////////////////////
使用下面的代码:
{体C3}您可以搜索通过Swaping这些词:
{的C4}输出:
{C5的}我希望它会帮你:理查德MacCutchan
评论会员:游客 时间:2012/02/07
我不知道VB的,但假设str.Split("")命令将返回一个数组的字符串的话,你只需要索引数组从去年第一:Erlendneergaard:您可以分成这样一个子字符串数组字符串:{5233}之后,你可以解析字符串数组,例如反向到另一个阵列,或随机,重建新的字符串
RaviRanjankr:感谢您的帮助你,我的解决方案组合,并得到了它工作