我是一名編程學生,所以我開始使用vb.net作爲第一語言,我需要一些幫助。VB.NET - 刪除句子中單詞之間的多餘空格
我需要知道如何刪除句子中單詞之間的多餘空格,只使用這些字符串函數:Trim,instr,char,mid,val和len。
我做了一部分代碼,但它不起作用,謝謝。 enter image description here
我是一名編程學生,所以我開始使用vb.net作爲第一語言,我需要一些幫助。VB.NET - 刪除句子中單詞之間的多餘空格
我需要知道如何刪除句子中單詞之間的多餘空格,只使用這些字符串函數:Trim,instr,char,mid,val和len。
我做了一部分代碼,但它不起作用,謝謝。 enter image description here
爲您敲定了一個快速程序。
Public Function RemoveMyExcessSpaces(str As String) As String
Dim r As String = ""
If str IsNot Nothing AndAlso Len(str) > 0 Then
Dim spacefound As Boolean = False
For i As Integer = 1 To Len(str)
If Mid(str, i, 1) = " " Then
If Not spacefound Then
spacefound = True
End If
Else
If spacefound Then
spacefound = False
r += " "
End If
r += Mid(str, i, 1)
End If
Next
End If
Return r
End Function
我認爲它符合您的條件。
希望有所幫助。
對這個問題有一個非常簡單的答案,有一個字符串方法,允許您刪除字符串中的這些「白色空間」。
Dim text_with_white_spaces as string = "Hey There!"
Dim text_without_white_spaces as string = text_with_white_spaces.Replace(" ", "")
'text_without_white_spaces should be equal to "HeyThere!"
希望它有幫助!
您回答的問題是它刪除所有空格。問題是如何刪除多餘的空格。 –
除非使用這些VB6方法是必需的,這裏有一個單行的解決方案:
TextBox2.Text = String.Join(" ", TextBox1.Text.Split(New Char() {" "c}, StringSplitOptions.RemoveEmptyEntries))
String.Split()
分割的是特定的字符或子字符串(在這種情況下是空格)並在中間創建一個字符串部分的數組。 I.e:「Hello There」 - > {「Hello」,「There」}
StringSplitOptions.RemoveEmptyEntries
從結果拆分數組中刪除任何空字符串。雙空格將在分割時創建空字符串,因此您將使用此選項將它們除去。
String.Join()
將從數組中創建一個字符串,並將每個數組條目與指定的字符串(本例中爲單個空格)分開。
剛剛意識到這與@BryanDellinger在他的評論中分享的代碼非常相似......在發佈之前沒有閱讀評論。 ;) –
謝謝,沒有這些限制是很容易的,但我的老師不會允許我使用它們。 –
'cleantext'在例程開始前沒有任何東西,沒有東西不是空字符串,這是不是一個'NullReferenceException'?如果你想清除一個'TextBox',把它的'Text'設置爲'「」'(或者如果你願意的話,可以是'String.Empty')。 – Mike
https://dotnetfiddle.net/k5UoI9小提琴使用https://stackoverflow.com/questions/20977246/replacing-multiple-spaces-into-just-one –
中給出的答案創建@BryanDellinger OP聲明瞭他允許的功能使用。 – Mike