这对我来说,我想要的结果列在底部;写在2012年的vb.net。我现在已经达到了愚蠢的地步! (我会尝试任何东西,因为我的逻辑已经消失了!)建议?
Dim i As Integer = 0
Dim j As Integer
Dim strIn As String = "this is some meaningless text"
Debug.WriteLine(String.Format("{0}" & vbCrLf, strIn))
Dim arStr As Array = Split(strIn, " "c)
Dim word As String
j = arStr.Length
Do While i + j - 1 < j
Do While j > 0
word = String.Join(" ", arStr, i, j - i)
Debug.WriteLine(String.Format("{0}" & vbTab & "{1}" & vbTab & "{2}", word, i, j))
i += 1
Loop
j -= 1
i = 0
Loop
从上面的代码中我想看到的是:
' i j
' this is some text 0 4
' this is some 0 3
' is some text 1 3
' this is 0 2
' is some 1 2
' some text 2 2
' this 0 1
' is 1 1
' some 3 1
' text 4 1
我似乎无法格式化。
答案 0 :(得分:0)
我的列计数是什么?我的意思是你想要它算什么?不要过于简单,但j只是看起来像是迭代的分词的计数。
你能把j和i改成有意义的名字吗?这可能有所帮助。
答案 1 :(得分:0)
我知道这将是一个简单的循环集,但由于某种原因逻辑正在逃避我。以下代码执行我想要的操作。感谢那些回复的人。
Dim i As Integer = 0
Dim j As Integer
Dim strIn As String = "this is some text"
Debug.WriteLine(String.Format("{0:25} {1} {2}", strIn, i, j))
Dim arStr As Array = Split(strIn, " "c)
Dim word As String
j = arStr.Length
While j > 0
While i + j < arStr.Length + 1
word = String.Join(" ", arStr, i, j)
Debug.WriteLine(String.Format("{0:25} {1} {2}", word, i, j))
i += 1 'starting at ...
End While
i = 0
j -= 1
End While
End Sub
变老并且通过简单的事情降低挫折感并没有帮助!