我是一名编程学生,所以我开始使用vb.net作为我的第一语言,我需要一些帮助。
我需要知道如何删除句子中单词之间的多余空格,只使用这些字符串函数:Trim,instr,char,mid,val和len。
我做了部分代码,但它不起作用,谢谢。 enter image description here
答案 0 :(得分:0)
为你敲了一个快速例程。
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
我认为它符合您的标准。
希望有所帮助。
答案 1 :(得分:0)
除非要求使用这些VB6方法,否则这是一个单线解决方案:
TextBox2.Text = String.Join(" ", TextBox1.Text.Split(New Char() {" "c}, StringSplitOptions.RemoveEmptyEntries))
在线测试: http://ideone.com/gBbi55
String.Split()
在特定字符或子字符串(在本例中为空格)上拆分字符串,并在其间创建字符串部分的数组。 I.e:" Hello There" - > {"您好","有"}
StringSplitOptions.RemoveEmptyEntries
从生成的拆分数组中删除所有空字符串。拆分时,双倍空格会创建空字符串,因此您可以使用此选项删除它们。
String.Join()
将从数组创建一个字符串,并使用指定的字符串(在本例中为单个空格)分隔每个数组条目。
答案 2 :(得分:-1)
这个问题有一个非常简单的答案,有一个字符串方法可以让你删除字符串中的那些“空格”。
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!"
希望它有所帮助!