这是我用VB.NET做的一个Project内的一部分,在这里我主要介绍一下我在编程中使用Split函数新的认识。以前我在使用VB6.0时,对Split函数,只知道它可以用来拆开字符串。 项目要求提取指定文本文件导入至规定的数据表中,而数据表中部分字段信息就在用户所选择文本文件的文件名称中。文本文件名称如下列示: MCZ-2004-08-21-灯丝电压-0002-X-2DJ.txt MCZ-2004-08-21-移频接收电压-0002-A2G-JS.txt QCZ-2004-08-21-轨道电压-0001-1001DGJ.txt XSZ-2004-08-21-电码化发送电压-0001-SI2JF(L1).txt XSZ-2004-09-10-电源电压-0050-(直2)GD8-48V.txt 这些文件名称中包含站名(eg:MCZ)、日期(eg:2004-08-21)、类别(eg:灯丝电压)、设备位置(eg:X-2DJ) 为了得到这些信息,这里就要用到Split函数。在进行处理之前,我们必须使用Path类的GetFileNameWithoutExtension方法,去掉文件名称中扩展名并赋给一个变量FName。即: FName = Path.GetFileNameWithoutExtension(含有路径的文件名称)
用以下办法来取得字段信息(Zm,Csrq ,Lb,Sbwz都是事先定义好的全局变量 )
'//取得文件名中含有的字段信息Zm,Csrq,Lb,Sbwz 值 Private Sub field_Value(ByVal file_Name As String) Try Dim a() As String a = Split(file_Name, "-", 7) Zm = a(0) Csrq = a(1) & "-" & a(2) & "-" & a(3) Lb = a(4) Sbwz = a(6) 'a(5)是数字序列,属无用信息 Catch ex As Exception MsgBox("错误:" & ex.Message) End Try End Sub
Split函数--是将获取的字符串分解为子字符串组成的数组。如果分界符设置为空字符串,则在数组的第一个位置返回整个字符串,也就是说它返回的是一个数组。
语法
Split(expression[, delimiter[, count[, compare]]])
Split函数语法有如下几部分:
部分描述 expression 必需的。包含子字符串和分隔符的字符串表达式 。如果expression是一个长度为零的字符串(""),Split则返回一个空数组,即没有元素和数据的数组。 delimiter 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。 count 可选的。要返回的子字符串数,–1表示返回所有的子字符串。 compare 可选的。数字值,表示判别子字符串时使用的比较方式。
而且,在VB.NET中String对象还提供了Split方法,传递的参数还可以是分隔符的字符数组,如下中的 New Char() {",", " ", "!"}
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click Dim strNames() As String Dim strName2 As String = "Hi,I am wuxuetie!" strNames = strName2.Split(New Char() {",", " ", "!"}) Dim i As Integer For i = 0 To strNames.Length - 1 TextBox1.Text = "" Debug.Write(strNames(i) & " ") Next End Sub 
|