VB6乘坐大空间

时间:2010-07-31 17:54:30

标签: vb6

嘿所有,我试图用一个文本替换文本之间的大空格。我的输出现在看起来像这样:

5964215">

        This is just the first example of the spaces
    5964478">

        This would be the 2nd example of showing how many spaces this thing has in each sentence.
    5964494">

来自具有多行到true的文本框。这是当它没有多行真实时的样子。

http://www.june3rdsoftware.com/forums/vb6.jpg

我似乎无法让空间消失!顺便说一句,如果这有任何不同,这个文本来自网页。

大卫

3 个答案:

答案 0 :(得分:6)

根据MvanGeest的建议,这里有一些VB代码来替换空格块:

Sub test()
    Dim x As String, y As String
    x = "abcd       defg             1233"
    Dim re As New RegExp
    re.Pattern = "\s+"
    re.Global = True
    y = re.Replace(x, " ")
    Debug.Print y
End Sub

要使其工作,您必须在项目中添加对“Microsoft VBScript Regular Expresssions”的引用。

答案 1 :(得分:0)

假设没有正则表达式支持,为什么不设置一个简单的状态机,在找到空格时设置state = 1,并在遇到非空格时设置state = 0。当state = 0时,您可以通过char移动char(因此每个系列空间只复制1个空格)。

答案 2 :(得分:0)

另外假设没有正则表达式,你可以尝试像

这样的东西

str =“带空格的长文本”

i = LenB(str)

str =替换(str,“”,“”)

同时LenB(str)<>我

i = LenB(str)

str =替换(str,“”,“”)

循环

当然,这段代码可以针对长空间序列进行优化,但也可能是你需要的所有