VB.NET - 删除句子中单词之间多余的空格

时间:2017-06-04 02:15:05

标签: vb.net

我是一名编程学生,所以我开始使用vb.net作为我的第一语言,我需要一些帮助。

我需要知道如何删除句子中单词之间的多余空格,只使用这些字符串函数:Trim,instr,char,mid,val和len。

我做了部分代码,但它不起作用,谢谢。 enter image description here

3 个答案:

答案 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!"

希望它有所帮助!