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) 单击工具栏上的“开始”按钮执行代码。您应该得到以下结果:
我们使用了以下代码:
代码说明:
- 创建一个名为 Module1 的模块。
- 启动主要子程序。
- 定义一个名为 st 的字符串变量并将值 Guru99 分配给它。
- 定义一个名为“subst”的字符串变量,作为字符串“st”的子字符串,索引为 0f,长度为 4 个字符。
- 在控制台上打印一些文本和上述子字符串。
- 暂停控制台窗口一段时间,等待用户采取行动将其关闭。
- 主要子程序结束。
- 模块结束。
一个论点
如果我们只向函数传递一个参数会怎么样?该函数将复制从该索引开始的字符串中的所有数据。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
点击“开始”按钮运行代码,你将得到以下结果:
我们使用了以下代码:
代码说明:
- 创建一个名为 Module1 的模块。
- 启动主要子程序。
- 定义一个名为 st 的字符串变量并将值 Guru99 分配给它。
- 定义一个名为 mid1 的字符串变量,并获取字符串 st 中索引 1 处的字符。该字符将被分配给变量 mid1。
- 在控制台上打印上述字符。
- 定义一个名为 mid2 的字符串变量,并从字符串 st 中获取索引为 1 且长度为 1 的字符。长度为 1 表示它将返回起始索引处的相同字符。计数从您指定的起始索引开始。该字符将分配给变量 mid2。
- 在控制台上打印上述字符。
- 暂停控制台窗口一段时间,等待用户采取行动将其关闭。
- 主要子程序结束。
- 模块结束。
总结
- Substring 函数在 Visual Basic.NET 的 String 类中定义。
- 它接受两个参数,即子字符串的起点和子字符串的长度。
- 我们可以尝试使用这些参数来从主字符串中获取各种子字符串集。