如何获取两个特定字符之间的单词并将其列在 vb .NET 中
How to get word between two specific character and list it in vb .NET
我有一个字符串,我想获取括号中的单词并列出它们:
I'm (Kid J)
From (Detroit), (Michigan)
我尝试了下面的鳕鱼,但是这段代码只列出了两个词:
For Each line As String In TextBox1.Lines
Dim i As Integer = line.IndexOf("(")
Dim f As String = line.Substring(i + 1, line.IndexOf(")", i - 1) - i - 1)
TextBox2.AppendText(f + vbCrLf)
Next
这条鳕鱼的结果是这样的:
Kid J
Detroit
您可以使用正则表达式:
Dim text = "I'm (Kid J)
From (Detroit), (Michigan)"
Dim matches = From match In Regex.Matches(text, "\(([^)]*)\)")
Select match.Groups(1).Value
Console.Write(String.Join(",", matches))
输出:
Kid J,Detroit,Michigan
这是带有一些解释的正则表达式:
https://regex101.com/r/13ME3n/1
我有一个字符串,我想获取括号中的单词并列出它们:
I'm (Kid J)
From (Detroit), (Michigan)
我尝试了下面的鳕鱼,但是这段代码只列出了两个词:
For Each line As String In TextBox1.Lines
Dim i As Integer = line.IndexOf("(")
Dim f As String = line.Substring(i + 1, line.IndexOf(")", i - 1) - i - 1)
TextBox2.AppendText(f + vbCrLf)
Next
这条鳕鱼的结果是这样的:
Kid J
Detroit
您可以使用正则表达式:
Dim text = "I'm (Kid J)
From (Detroit), (Michigan)"
Dim matches = From match In Regex.Matches(text, "\(([^)]*)\)")
Select match.Groups(1).Value
Console.Write(String.Join(",", matches))
输出:
Kid J,Detroit,Michigan
这是带有一些解释的正则表达式: https://regex101.com/r/13ME3n/1