2016-10-05 145 views
0

我需要在字符串中查找指定单词的位置,我需要它是非常具体的,所以它不包含没有空格的单词,所以说如果我是寻找单词'嗨'它只会返回true,如果它是检查'嗨'而不是'HiExample'。在另一个字符串中查找指定字符串的位置

代码:正如我已经转换的串入下壳体

Dim userString As String = userInput.Text 
    userString = userString.ToLower() 

    Dim d As New Dictionary(Of String, Integer) 
    Dim wordString = userString.ToLower().Split(" "c) 
    Dim iList As New List(Of String)() 

    For Each word In wordString 
     If d.ContainsKey(word) Then 
      d(word) += 1 
      iList.Add(word) 
     Else 
      d.Add(word, 1) 
     End If 
    Next 

    For Each de In d 
     For i As Integer = 0 To wordString.Count - 1 
      Dim index As Integer = userString.IndexOf(de.Key) 
      output.Text &= "Word: " & de.Key & " Occurrence: " & de.Value & " Position: " & GET POSTION OF EACH WORD HERE & Environment.NewLine 
     Next 
    Next 

检查大写或小写将不是必需的。

感谢,

马特

+0

你了解正则表达式?这里可能有用 – ADyson

回答

0

你可以尝试正则表达式

For Each de In d 
    Dim index As Integer = Regex.Matches(userString, "(?<=^|\b|\s)" & Regex.Escape(de.Key) & "(?=\s|\b|$)")(0).Index 
    Console.WriteLine("Word: " & de.Key & " Occurrence: " & de.Value & " Position: " & index) 
Next 

,这可能让你开始

相关问题