VB.NET Substring 方法及示例

什么是子字符串?

子字符串函数用于获取指定字符串的一部分。此方法定义在Microsoft VB.NET的String类中。您必须指定从中提取字符串的起始索引。字符串将从该索引开始,直到您指定的长度。

在本教程中,您将学习

子字符串的语法

该函数接受两个参数,如以下语法所示

Public Function Substring(ByVal start_Index As Integer, ByVal sub_length As Integer) As String

此处,

  • ByVal关键字表示按值传递,这是向函数传递参数的一种机制。
  • start_Index 是将从中获取子字符串的索引
  • sub_length 表示从start_Index复制字符串的长度。此长度以字符数为单位。该函数将返回提取的子字符串。

示例

步骤 1) 创建一个新的控制台应用程序。

步骤 2) 将以下代码添加到其中

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(0, 4)

        Console.WriteLine("The substring is: {0}", subst)

        Console.ReadKey()
    End Sub

End Module

步骤 3) 单击工具栏中的“开始”按钮执行代码。您应该会看到以下结果

我们使用了以下代码:

代码解释

  1. 创建一个名为 Module1 的模块。
  2. 开始主子过程。
  3. 定义一个名为st的字符串变量,并为其赋值Guru99。
  4. 定义一个名为‘subst’的字符串变量,它是字符串‘st’从索引0开始长度为4个字符的子字符串。
  5. 在控制台上打印一些文本和上面的子字符串。
  6. 暂停控制台窗口一段时间,等待用户采取操作关闭它。
  7. main 子过程结束。
  8. 模块结束。

一个参数

如果我们只向函数传递一个参数会怎样?该函数将复制该索引开始的所有字符串数据。子字符串函数会在内部复制该索引处的整个字符串数据以及其后的数据。例如

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(4)

        Console.WriteLine("The substring is: {0}", subst)


        Console.ReadKey()

    End Sub

End Module

单击“开始”按钮运行代码。它应该返回以下结果

子字符串函数返回了99。我们向函数传递了参数4,这意味着它将从索引为4的字符开始提取子字符串,直到字符串的末尾。9是字符串Guru99在索引4处的字符,因此提取从那里开始。

中间字符

我们也可以获取所讨论字符串的中间字符。在这种情况下,我们只需要提供起始索引和所需的字符串长度。在下面的示例中,我们将获取指定字符串从索引2开始的子字符串,其长度为2个字符。

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(2, 2)

        Console.WriteLine("The substring is: {0}", subst)


        Console.ReadKey()

    End Sub

End Module

单击工具栏中的“开始”按钮运行代码。您将获得以下结果

在上面的示例中,子字符串函数返回了ru。我们向函数传递了参数(2, 2)。第一个2指示函数从索引2开始提取子字符串,第二个2指示函数仅返回长度为2个字符的子字符串。这意味着子字符串的提取应该从字符串Guru99中索引为2的元素开始,该元素是r。由于返回的子字符串长度只能为2个字符,因此提取不会超过“u”,因此返回了“ru”。

一个字符

我们可以使用Substring函数从字符串中获取单个字符。在这种情况下,您必须进行分配,但可以像访问数组元素一样直接访问该字符。这会稍微快一些。下面的示例演示了我们可以实现此目的的两种方法

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim mid1 As Char = st(1)
        Console.WriteLine(mid1)

        Dim mid2 As String = st.Substring(1, 1)

        Console.WriteLine(mid2)

        Console.ReadKey()

    End Sub

End Module

单击“开始”按钮运行代码。您将获得以下结果

我们使用了以下代码:

代码解释

  1. 创建一个名为 Module1 的模块。
  2. 开始主子过程。
  3. 定义一个名为st的字符串变量,并为其赋值Guru99。
  4. 定义一个名为mid1的字符串变量,并获取字符串st索引1处的字符。该字符将被赋值给变量mid1。
  5. 在控制台上打印上述字符。
  6. 定义一个名为mid2的字符串变量,并从字符串st获取索引为1、长度为1的字符。长度为1意味着它将返回起始索引处的同一字符。计数从您指定的起始索引开始。该字符将被赋值给变量mid2。
  7. 在控制台上打印上述字符。
  8. 暂停控制台窗口一段时间,等待用户采取操作关闭它。
  9. main 子过程结束。
  10. 模块结束。

摘要

  • Substring函数定义在Visual Basic.NET的String类中。
  • 它接受两个参数,即子字符串的起始点和子字符串的长度。
  • 我们可以通过调整这些参数从主字符串中获取各种子字符串。