VB.Net - 字符串

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

创建字符串对象

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

  • 通过将字符串文字赋值给String变量

  • 使用String类构造函数

  • 使用字符串连接运算符(+)

  • 通过检索属性或调用返回字符串的方法

  • 通过调用格式化方法进行转换字符串表示的值或对象

以下示例演示了这个 :

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

编译并执行上述代码时,会生成以下res ult :

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

字符串类的属性

String类具有以下两个属性 :

Sr.No属性名称&描述
1

Chars

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

2

Length

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

String类的方法

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

Sr.No方法名称&说明
1

Public Shared Function Compare ( strA As String, strB As String ) As Integer

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

2

Public Shared Function Compare ( strA As String, strB As String, ignoreCase As Boolean ) As Integer

比较两个指定的字符串对象和返回一个整数,指示它们在排序顺序中的相对位置.但是,如果布尔参数为真,则忽略大小写.

3

Public Shared Function 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

连接三个字符串对象.

5

Public Shared Function Concat (str0 As String, str1 As String, str2 As String, str3 As String ) As String

连接四个字符串对象.

6

Public Function Contains ( value As String ) As Boolean

返回a指示指定的字符串对象是否出现在此字符串中的值.

7

Public Shared Function Copy ( str As String ) As String

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

8

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

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

9

Public Function EndsWith(value As String)As Boolean

确定字符串的结尾object匹配指定的字符串.

10

Public Function Equals ( value As String ) As Boolean

确定当前字符串是否为obj ect和指定的字符串对象具有相同的值.

11

Public Shared Function Equals ( a As String, b As String ) As Boolean

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

12

Public Shared Function Format ( format As String, arg0 As Object ) As String

使用指定对象的字符串表示替换指定字符串中的一个或多个格式项.

13

公共功能IndexOf(值为Char)为整数

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

14

Public Function IndexOf(value As String)As Integer

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

15

Public Function IndexOf ( value As Char, startIndex As Integer ) As Integer

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

16

Public Function IndexOf(value As String,startIndex As Integer)As Integer

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

17

Public Function IndexOfAny(anyOf As Char())As Integer

返回从零开始的索引在这个例子中第一次出现的任何一个ch指定的Unicode字符数组中的字符.

18

Public Function IndexOfAny ( anyOf As Char(), startIndex As Integer ) As Integer

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

19

Public Function Insert ( startIndex As Integer, value As String ) As String

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

20

Public Shared Function IsNullOrEmpty ( value As String ) As Boolean

指示指定的字符串是null还是空字符串.

21

Public Shared Function Join ( separator As String, ParamArray value As String() ) As String

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

22

Public Shared Function Join ( separator As String, value As String(), startIndex As Integer, count As Integer ) As String

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

23

Public Function LastIndexOf ( value As Char ) As Integer

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

24

Public Function LastIndexOf ( value As String ) As Integer

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

25

Public Function Remove ( startIndex As Integer ) As String

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

26

Public Function Remove ( startIndex As Integer, count As Integer ) As String

删除当前字符串开头的指定字符数在指定的位置并返回字符串.

27

Public Function Replace ( oldChar As Char, newChar As Char ) As String

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

28

Public Function Replace ( oldValue As String, newValue As String ) As String

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

29

Public Function Split ( ParamArray separator As Char() ) As String()

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

30

Public Function Split(separator As Char(),count as Integer)As String()

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

31

Public Function StartsWith(value As String) As Boolean

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

32

Public Function ToCharArray As Char()

返回一个Unicode字符数组

33

Public Function ToCharArray ( startIndex As Integer, length As Integer ) As Char()

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

34

Public Function ToLower As String

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

35

Public Function ToUpper As String

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

36

Public Function 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