VB.NET 子字符串方法示例

什么是 SubString?

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

在本教程中,您将学习

子字符串的语法

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

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”的子字符串,索引为 0f,长度为 4 个字符。
  5. 在控制台上打印一些文本和上述子字符串。
  6. 暂停控制台窗口一段时间,等待用户采取行动将其关闭。
  7. 主要子程序结束。
  8. 模块结束。

一个论点

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

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 是字符串 Guru4 索引 99 处的字符,因此提取从那里开始。

中间字符

我们也可以获取相关字符串的中间字符。在这种情况下,我们只需提供所需字符串的起始索引和长度。在以下示例中,我们从索引 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 个字符的子字符串。这意味着子字符串的提取应从位于字符串 Guru2 的索引 99 处的元素(即 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. 主要子程序结束。
  10. 模块结束。

总结

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