VB.NET编程语言中有很多函数的应用比较复杂,需要我们通过不断的实践,积累经验才能熟练的掌握,并正确的将他们应用在程序中,完成我们的需求。在这里我们就会为大家介绍其中的VB.NET Mid函数的相关应用。
VB.NET Mid函数一般用于返回原字符串中子串,比如说
- Dim MyString, FirstWord, LastWord, MidWords
- MyString = "Mid Function Demo" 建立一个字符串。
- FirstWord = Mid(MyString, 1, 3) ' 返回 "Mid"。
- LastWord = Mid(MyString, 14, 4) ' 返回 "Demo"。
- MidMidWords = Mid(MyString, 5) ' 返回 "Funcion
具体函数说明如下:
返回 Variant (String),其中包含字符串中指定数量的字符。
语法
- Mid(string, start[, length])
Mid 函数的语法具有下面的命名参数:#t#
string
必要参数。字符串表达式,从中返回字符。如果 string 包含 Null,将返回 Null。
start
必要参数。为 Long。string 中被取出部分的字符位置。如果 start 超过 string 的字符数,VB.NET Mid函数返回零长度字符串 ("")。
length
可选参数;为 Variant (Long)。要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。
说明
欲知 string 的字符数,可用 Len 函数。
注意 MidB 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。对于使用 MidB的示例代码,请参阅示例主题中的第二个示例。
那么我们是否可以利用它来进行一些字符串替换呢?请在你机器上运行下面函数:
- Option Explicit
- Public Function Test() As String
- Dim s As String
- s = "ABCD"
- Mid(s, 1, 1) = "T"
- Test = s
- End Function
你发现什么了?WOW,输出字符串变成“TBCD”了! 是的,我们可以利用VB.NET Mid函数来实现字符串的替换(非常令人高兴的事情)!那么如果我把“T”变成“TX”呢?请看下面代码:
- Option Explicit
- Public Function Test() As String
- Dim s As String
- s = "ABCD"
- Mid(s, 1, 1) = "TX"
- Test = s
- End Function
再运行一次,不出所料,它还是“TBCD“。虽然VB.NET Mid函数能够做一些简单的字符串的替换,但是它的前提条件是字符串不能够超过它的返回长度(例子中的是1)。那么可能有些网友会问,如果小于它的返回长度会发生什么呢?嗯,好的想法,还是让实验结果来说明它吧,请看:
- Option Explicit
- Public Function Test() As String
- Dim s As String
- s = "ABCD"
- Mid(s, 1, 3) = "TX"
- Test = s
- End Function
运行后它的结果如下:”TXCD”。
从上面的结果来看,Mid能够做一些简单的字符串替换,但是必须遵循以下条件:
替换的***长度由Mid返回的***长度决定。如果替换串的长度大于它的返回长度,那么只有替换串的前面一部分用于替换。如果替换串的长度小于它的返回长度,那么原字符串中超过部分将被保留,而其它部分被替换。虽然VB.NET Mid函数在某些场合有很巧的功能,但是如果涉及到常用字符串操作,个人建议还是尽量用Replace(expression, find, replace[, start[, count[, compare]]])来完成。