我是一名编程学生,所以我开始使用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