-

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

创建一个字符串对象

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

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

  • By using a String class constructor 通过使用String类构造函数

  • By using the string concatenation operator (+) 通过使用字符串连接运算符(+) 

  • By retrieving a property or calling a method that returns a string 通过检索属性或调用返回字符串的方法

  • By calling a formatting method to convert a value or object to its string representation
    通过调用格式化方法将值或对象转换为其字符串表示形式


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

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属性名称和说明
1

Chars

获取当前String对象中指定位置的Char对象。

2

Length

获取当前String对象中的字符数。


String类的方法

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

SN方法名称和说明
1

Public Shared Function Compare ( strA As String, strB As String ) As Integer
公共共享函数比较(strA As String,strB As String)As Integer

比较两个指定的字符串对象,并返回一个整数,指示它们在排序顺序中的相对位置。

2

Public 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,它将忽略大小写。

3

Public Shared Function Concat ( str0 As String, str1 As String ) As String
公共共享函数Concat(str0 As String,str1 As String)As String

连接两个字符串对象。

4

Public 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

连接三个字符串对象。

5

Public 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

连接四个字符串对象。

6

Public Function Contains ( value As String ) As Boolean
公共函数包含(值作为字符串)As Boolean

返回一个值,指示指定的字符串对象是否出现在此字符串中。

7

Public Shared Function Copy ( str As String ) As String
公共共享函数复制(str作为字符串)As String

创建与指定字符串具有相同值的新String对象。

8

pPublic Sub CopyTo ( sourceIndex As Integer, destination As Char(), destinationIndex As Integer, count As Integer )

将指定数量的字符从字符串对象的指定位置复制到Unicode字符数组中的指定位置。

9

Public Function EndsWith ( value As String ) As Boolean
公共函数endsWith(值作为字符串)As Boolean

确定字符串对象的结尾是否与指定的字符串匹配。

10

Public Function Equals ( value As String ) As Boolean
公共函数等于(值作为字符串)As Boolean

确定当前字符串对象,并指定字符串对象是否具有相同的值。

11

Public Shared Function Equals ( a As String, b As String ) As Boolean
公共共享函数等于(A作为字符串,B作为字符串)As Boolean

确定两个指定字符串对象是否具有相同的值。

12

Public Shared Function Format ( format As String, arg0 As Object ) As String
公共共享函数格式(格式作为字符串,arg0作为对象)As String

将指定字符串中的一个或多个格式项替换为指定对象的字符串表示形式。

13

Public Function IndexOf ( value As Char ) As Integer
公共函数IndexOf(价值为CHAR)As Integer

返回当前字符串中指定Unicode字符第一次出现的从零开始的索引。

14

Public Function IndexOf ( value As String ) As Integer
公共函数IndexOf(值作为字符串)As Integer

返回此实例中指定字符串第一次出现的从零开始的索引。

15

Public Function IndexOf ( value As Char, startIndex As Integer ) As Integer
公共函数IndexOf(值为char,则startIndex作为整数) As Integer

返回此字符串中指定Unicode字符第一次出现的从零开始的索引,从指定的字符位置开始搜索。

16

Public Function IndexOf ( value As String, startIndex As Integer ) As Integer
公共函数IndexOf(值作为字符串,则startIndex作为整数)As Integer

返回此实例中指定字符串第一次出现的从零开始的索引,开始在指定的字符位置搜索。

17

Public Function IndexOfAny ( anyOf As Char() ) As Integer
公共函数IndexOfAny(anyOf为CHAR())As Integer

返回在指定的Unicode字符数组中的任何字符的此实例中第一次出现的从零开始的索引。

18

Public Function IndexOfAny ( anyOf As Char(), startIndex As Integer ) As Integer
公共函数IndexOfAny(anyOf为char(),则startIndex作为整数)As Integer

返回在指定的Unicode字符数组中的任意字符的此实例中第一次出现的从零开始的索引,开始在指定的字符位置搜索。

19

Public Function Insert ( startIndex As Integer, value As String ) As String
公共函数Insert(的startIndex为整数,值作为字符串)As String

返回一个新字符串,其中指定的字符串插入到当前字符串对象中指定的索引位置。

20

Public Shared Function IsNullOrEmpty ( value As String ) As Boolean
公共共享函数IsNullOrEmpty(值作为字符串) As Boolean

指示指定的字符串是空还是空字符串。

21

Public Shared Function Join ( separator As String, ParamArray value As String() ) As String
公共共享函数加入(分隔符作为字符串,值的ParamArray作为字符串())As String

连接字符串数组的所有元素,使用每个元素之间指定的分隔符。

22

Public Shared Function Join ( separator As String, value As String(), startIndex As Integer, count As Integer ) As String
公共共享函数加入(分隔符作为字符串,值作为字符串(),则startIndex整数,算作整数)As String

使用每个元素之间指定的分隔符连接字符串数组的指定元素。

23

Public Function LastIndexOf ( value As Char ) As Integer
公共函数LastIndexOf(价值为CHAR) As Integer

返回当前字符串对象中指定Unicode字符的最后一次出现的从零开始的索引位置。

24

Public Function LastIndexOf ( value As String ) As Integer
公共函数LastIndexOf(值作为字符串) As Integer

返回当前字符串对象中指定字符串的最后一次出现的从零开始的索引位置。

25

Public Function Remove ( startIndex As Integer )As String
字符串作为公共函数删除 (startIndex 作为整数)As String

删除当前实例中的所有字符,从指定位置开始,并继续到最后一个位置,并返回字符串。

26

Public Function Remove ( startIndex As Integer, count As Integer ) As String
字符串作为公共函数删除 (startIndex 作为整数作为整数计数)As String

从指定位置开始删除当前字符串中指定数量的字符,并返回字符串。

27

Public Function Replace ( oldChar As Char, newChar As Char ) As String
公共函数替换(oldChar为char,newChar为CHAR)As String

用指定的Unicode字符替换当前字符串对象中指定Unicode字符的所有出现,并返回新字符串。

28

Public Function Replace ( oldValue As String, newValue As String ) As String
公共功能替换(属性oldValue作为字符串,newValue作为字符串)As String

将当前字符串对象中指定字符串的所有出现替换为指定的字符串,并返回新字符串。

29

Public Function Split ( ParamArray separator As Char() ) As String()
公共函数拆分(ParamArray分隔符作为Char())As String()

返回一个字符串数组,其中包含当前字符串对象中的子字符串,由指定的Unicode字符数组的元素分隔。

30

Public Function Split ( separator As Char(), count As Integer ) As String()
公共函数分割(分隔符为char(),计数为整数)As String()

返回一个字符串数组,其中包含当前字符串对象中的子字符串,由指定的Unicode字符数组的元素分隔。 int参数指定要返回的子字符串的最大数目。

31

Public Function StartsWith ( value As String ) As Boolean
公共函数StartsWith(值作为字符串)As Boolean

确定此字符串实例的开头是否与指定的字符串匹配。

32

Public Function ToCharArray As Char()
公共函数ToCharArray As CHAR()

返回包含当前字符串对象中所有字符的Unicode字符数组。

33

Public Function ToCharArray ( startIndex As Integer, length As Integer ) As Char()
公共函数ToCharArray(startIndex为整数,length为整数) As Char()

返回一个Unicode字符数组,其中包含当前字符串对象中的所有字符,从指定的索引开始,直到指定的长度。

34

Public Function ToLower As String
公共函数ToLower As String

返回此字符串的转换为小写的副本。

35

Public Function ToUpper As String
公共函数ToUpper As String

返回此字符串的转换为大写的副本。

36

Public 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