文本格式化不会产生预期的结果

时间:2011-10-04 11:27:32

标签: vb.net arrays string

我正在尝试创建一个简单的工具来格式化SQL代码,以便我可以在VB中使用它。 当我提出以下内容时:

USE master
CREATE DATABASE netGuest
GO

我明白了......

"USE master" & vbCrLf & _"
CREATE DATABASE netGuest" & vbCrLf & _"
GO" & vbCrLf & _"

所以它几乎可以工作。真正唯一不起作用的是线条以"结尾而不是从它们开始。

这是我的代码:

Protected Sub btnConvert_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConvert.Click
    If txtVB.Text IsNot Nothing Then : txtVB.Text = "" : End If

    Dim input() As String = txtSQL.Text.Split(vbCrLf)
    For i As Integer = 0 To UBound(input) - 1
        txtVB.Text = """" & input(i) & """ & vbCrLf & _"
    Next
End Sub

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

这是因为拆分不是切割vbCrLf而是留在那里。

试试这个。

Dim textstring = "select *" & vbCrLf & "from table " & vbCrLf & "Go"
Dim output As String = ""
Dim input() As String = textstring.Split(CChar(ControlChars.CrLf))
output = """" & input(0) & """ & vbCrLf & _" & ControlChars.CrLf
For i As Integer = 1 To UBound(input)
    output &= """" & input(i).Substring(1) & """ & vbCrLf & _" & ControlChars.CrLf
Next
Console.WriteLine(output)
Console.ReadLine()