Split的用法

类别:.NET开发 点击:0 评论:0 推荐:

       这是我用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

本文地址:http://com.8s8s.com/it/it43610.htm