VB.Net - 字符串

在VB.Net中,可以使用字符串作为字符数组,但是更常见的做法是使用String关键字声明一个字符串变量。 string关键字是System.String类的别名。

创建一个字符串对象

您可以使用以下方法之一创建字符串对象:

  • By assigning a string literal to a String variable 通过指定一个字符串给一个字符串变量 

下面的例子说明了这一点:

Module strings Sub Main() Dim fname, lname, fullname, greetings As String fname = "Rowan" lname = "Atkinson" fullname = fname + " " + lname Console.WriteLine("Full Name: {0}", fullname) 'by using string constructor Dim letters As Char() = {"H", "e", "l", "l", "o"} greetings = New String(letters) Console.WriteLine("Greetings: {0}", greetings) 'methods returning String Dim sarray() As String = {"Hello", "From", "Tutorials", "Point"} Dim message As String = String.Join(" ", sarray) Console.WriteLine("Message: {0}", message) 'formatting method to convert a value Dim waiting As DateTime = New DateTime(2012, 12, 12, 17, 58, 1) Dim chat As String = String.Format("Message sent at {0:t} on {0:D}", waiting) Console.WriteLine("Message: {0}", chat) Console.ReadLine() End Sub End Module

当上述代码被编译和执行时,它产生了以下结果:

Full Name: Rowan Atkinson Greetings: Hello Message: Hello From Tutorials Point Message: Message sent at 5:58 PM on Wednesday, December 12, 2012

String类的属性

String类有以下两个属性:

SN属性名称和说明
1Chars 获取当前String对象中指定位置的Char对象。
2Length获取当前String对象中的字符数。

String类的方法

String类有许多方法可以帮助你处理字符串对象。 下表提供了一些最常用的方法:

SN方法名称和说明
1Public Shared Function Compare ( strA As String, strB As String ) As Integer公共共享函数比较(strA As String,strB As String)As Integer 比较两个指定的字符串对象,并返回一个整数,指示它们在排序顺序中的相对位置。
2Public Shared Function Compare ( strA As String, strB As String, ignoreCase As Boolean ) As Integer公共共享函数比较(strA As String,strB As String,ignoreCase As Boolean)As Integer 比较两个指定的字符串对象,并返回一个整数,指示它们在排序顺序中的相对位置。 但是,如果布尔参数为true,它将忽略大小写。
3Public Shared Function Concat ( str0 As String, str1 As String ) As String公共共享函数Concat(str0 As String,str1 As String)As String 连接两个字符串对象。
4Public Shared Function Concat ( str0 As String, str1 As String, str2 As String ) As String公共共享函数Concat(str0 As String,str1 As String,str2 As String)As String 连接三个字符串对象。
5Public Shared Function Concat ( str0 As String, str1 As String, str2 As String, str3 As String ) As String公共共享函数Concat(str0 As String,str1 As String,str2 As String,str3 As String)As String 连接四个字符串对象。
6Public Function Contains ( value As String ) As Boolean公共函数包含(值作为字符串)As Boolean 返回一个值,指示指定的字符串对象是否出现在此字符串中。
7Public Shared Function Copy ( str As String ) As String公共共享函数复制(str作为字符串)As String 创建与指定字符串具有相同值的新String对象。
8pPublic Sub CopyTo ( sourceIndex As Integer, destination As Char(), destinationIndex As Integer, count As Integer )将指定数量的字符从字符串对象的指定位置复制到Unicode字符数组中的指定位置。
9Public Function EndsWith ( value As String ) As Boolean公共函数endsWith(值作为字符串)As Boolean 确定字符串对象的结尾是否与指定的字符串匹配。
10Public Function Equals ( value As String ) As Boolean公共函数等于(值作为字符串)As Boolean 确定当前字符串对象,并指定字符串对象是否具有相同的值。
11Public Shared Function Equals ( a As String, b As String ) As Boolean公共共享函数等于(A作为字符串,B作为字符串)As Boolean 确定两个指定字符串对象是否具有相同的值。
12Public Shared Function Format ( format As String, arg0 As Object ) As String公共共享函数格式(格式作为字符串,arg0作为对象)As String 将指定字符串中的一个或多个格式项替换为指定对象的字符串表示形式。
13Public Function IndexOf ( value As Char ) As Integer公共函数IndexOf(价值为CHAR)As Integer 返回当前字符串中指定Unicode字符第一次出现的从零开始的索引。
14Public Function IndexOf ( value As String ) As Integer公共函数IndexOf(值作为字符串)As Integer 返回此实例中指定字符串第一次出现的从零开始的索引。
15Public Function IndexOf ( value As Char, startIndex As Integer ) As Integer公共函数IndexOf(值为char,则startIndex作为整数) As Integer 返回此字符串中指定Unicode字符第一次出现的从零开始的索引,从指定的字符位置开始搜索。
16Public Function IndexOf ( value As String, startIndex As Integer ) As Integer公共函数IndexOf(值作为字符串,则startIndex作为整数)As Integer 返回此实例中指定字符串第一次出现的从零开始的索引,开始在指定的字符位置搜索。
17Public Function IndexOfAny ( anyOf As Char() ) As Integer公共函数IndexOfAny(anyOf为CHAR())As Integer返回在指定的Unicode字符数组中的任何字符的此实例中第一次出现的从零开始的索引。
18Public Function IndexOfAny ( anyOf As Char(), startIndex As Integer ) As Integer公共函数IndexOfAny(anyOf为char(),则startIndex作为整数)As Integer 返回在指定的Unicode字符数组中的任意字符的此实例中第一次出现的从零开始的索引,开始在指定的字符位置搜索。
19Public Function Insert ( startIndex As Integer, value As String ) As String公共函数Insert(的startIndex为整数,值作为字符串)As String 返回一个新字符串,其中指定的字符串插入到当前字符串对象中指定的索引位置。
20Public Shared Function IsNullOrEmpty ( value As String ) As Boolean公共共享函数IsNullOrEmpty(值作为字符串) As Boolean 指示指定的字符串是空还是空字符串。
21Public Shared Function Join ( separator As String, ParamArray value As String() ) As String公共共享函数加入(分隔符作为字符串,值的ParamArray作为字符串())As String 连接字符串数组的所有元素,使用每个元素之间指定的分隔符。
22Public Shared Function Join ( separator As String, value As String(), startIndex As Integer, count As Integer ) As String公共共享函数加入(分隔符作为字符串,值作为字符串(),则startIndex整数,算作整数)As String 使用每个元素之间指定的分隔符连接字符串数组的指定元素。
23Public Function LastIndexOf ( value As Char ) As Integer公共函数LastIndexOf(价值为CHAR) As Integer 返回当前字符串对象中指定Unicode字符的最后一次出现的从零开始的索引位置。
24Public Function LastIndexOf ( value As String ) As Integer公共函数LastIndexOf(值作为字符串) As Integer 返回当前字符串对象中指定字符串的最后一次出现的从零开始的索引位置。
25Public Function Remove ( startIndex As Integer )As String字符串作为公共函数删除 (startIndex 作为整数)As String 删除当前实例中的所有字符,从指定位置开始,并继续到最后一个位置,并返回字符串。
26Public Function Remove ( startIndex As Integer, count As Integer ) As String字符串作为公共函数删除 (startIndex 作为整数作为整数计数)As String 从指定位置开始删除当前字符串中指定数量的字符,并返回字符串。
27Public Function Replace ( oldChar As Char, newChar As Char ) As String公共函数替换(oldChar为char,newChar为CHAR)As String 用指定的Unicode字符替换当前字符串对象中指定Unicode字符的所有出现,并返回新字符串。
28Public Function Replace ( oldValue As String, newValue As String ) As String公共功能替换(属性oldValue作为字符串,newValue作为字符串)As String将当前字符串对象中指定字符串的所有出现替换为指定的字符串,并返回新字符串。
29Public Function Split ( ParamArray separator As Char() ) As String()公共函数拆分(ParamArray分隔符作为Char())As String() 返回一个字符串数组,其中包含当前字符串对象中的子字符串,由指定的Unicode字符数组的元素分隔。
30Public Function Split ( separator As Char(), count As Integer ) As String()公共函数分割(分隔符为char(),计数为整数)As String() 返回一个字符串数组,其中包含当前字符串对象中的子字符串,由指定的Unicode字符数组的元素分隔。 int参数指定要返回的子字符串的最大数目。
31Public Function StartsWith ( value As String ) As Boolean公共函数StartsWith(值作为字符串)As Boolean 确定此字符串实例的开头是否与指定的字符串匹配。
32Public Function ToCharArray As Char()公共函数ToCharArray As CHAR() 返回包含当前字符串对象中所有字符的Unicode字符数组。
33Public Function ToCharArray ( startIndex As Integer, length As Integer ) As Char()公共函数ToCharArray(startIndex为整数,length为整数) As Char() 返回一个Unicode字符数组,其中包含当前字符串对象中的所有字符,从指定的索引开始,直到指定的长度。
34Public Function ToLower As String公共函数ToLower As String 返回此字符串的转换为小写的副本。
35Public Function ToUpper As String公共函数ToUpper As String 返回此字符串的转换为大写的副本。
36Public Function Trim As String公共函数Trim As String 从当前String对象中删除所有前导和尾部空格字符。

上面列出的方法并不详尽,请访问MSDN库获取完整的方法列表和String类构造函数。

例子:

下面的例子说明了上述一些方法:

比较字符串:

Module strings Sub Main() Dim str1, str2 As String str1 = "This is test" str2 = "This is text" If (String.Compare(str1, str2) = 0) Then Console.WriteLine(str1 + " and " + str2 + " are equal.") Else Console.WriteLine(str1 + " and " + str2 + " are not equal.") End If Console.ReadLine() End Sub End Module

当上述代码被编译和执行时,它产生了以下结果:

This is test and This is text are not equal.

字符串包含字符串:

Module strings Sub Main() Dim str1 As String str1 = "This is test" If (str1.Contains("test")) Then Console.WriteLine("The sequence 'test' was found.") End If Console.ReadLine() End Sub End Module

当上述代码被编译和执行时,它产生了以下结果:

The sequence 'test' was found.

获取的子字符串:

Module strings Sub Main() Dim str As String str = "Last night I dreamt of San Pedro" Console.WriteLine(str) Dim substr As String = str.Substring(23) Console.WriteLine(substr) Console.ReadLine() End Sub End Module

当上述代码被编译和执行时,它产生了以下结果:

Last night I dreamt of San Pedro San Pedro.

加入字符串:

Module strings Sub Main() Dim strarray As String() = {"Down the way where the nights are gay", "And the sun shines daily on the mountain top", "I took a trip on a sailing ship", "And when I reached Jamaica", "I made a stop"} Dim str As String = String.Join(vbCrLf, strarray) Console.WriteLine(str) Console.ReadLine() End Sub End Module

当上述代码被编译和执行时,它产生了以下结果:

Down the way where the nights are gay And the sun shines daily on the mountain top I took a trip on a sailing ship And when I reached Jamaica I made a stop