我很难让功能正常工作。我需要搜索每个“,”找到的每个“,”的message.text,发现我需要得到“,”位于字符串中的数字位置。例如:23232,111,02020332,12它将返回6/10/19,其中“,”位于(索引)。我的代码找到了第一个的第一个索引,但随后重复了6 6 6 6,任何帮助都将不胜感激。
继承我的代码:
body {
margin: 0;
}
答案 0 :(得分:0)
你可以这样试试;实例化一个Regex
对象,并在每次开始匹配的位置时递增(这种可能性不适用于静态方法Match
)。
Dim reg As New System.Text.RegularExpressions.Regex(",")
Dim Index As Integer = reg.Match(data).Index
Do While Index > 0
commas.AppendText(index & " ")
Index = reg.Match(data, Index + 1).Index
Loop
p.s返回的索引从零开始。
答案 1 :(得分:0)
只需使用Regex.Matches方法
Dim message As String = "23232,111,02020332,12"
Dim result As String = ""
For Each m As Match In Regex.Matches(message, ",")
result &= m.Index + 1 & " "
Next
我还应该补充一点,索引是基于0的(这就是为什么+1被添加到m.Index)。如果您以后需要这些值指向特定逗号的位置,则可能会偏离1,并且可能会尝试访问大于实际字符串的索引。