2015-03-10 4 views
-2

Как я могу вернуть номер слова в тексте onclick или коснуться?Как вернуть номер слова в тексте onclick или нажать

Я думал об использовании метода Find.HitHighlight (Word) - MSDN (или чего-то подобного), но я не понимаю. Пока я могу подсчитывать слова в тексте, который у меня есть, и хранить их в коллекции, но как я могу теперь узнать, какой из них был нажат или записан на пленку, чтобы он мог вернуть мне количество этого слова в коллекции и выделить его.

Большое спасибо!

здесь код WordCount:

using UnityEngine; 
using System.Collections; 
using UnityEngine.UI; 
using System.Text.RegularExpressions; 

public class WordCount : MonoBehaviour { 
public Text textToCount; 

// Use this for initialization 
void Start() { 
    Debug.Log(CountWords1(textToCount.text)); 
} 

// Update is called once per frame 
void Update() { 

} 

public static int CountWords1(string s) 
{ 
    MatchCollection collection = Regex.Matches(s, @"[\S]+"); 
    return collection.Count; 
    } 
} 

ответ

1

Что вы должны сделать, это использовать словарь, где каждое слово является ключевым значением.

public Dictionary<string, int> AnalyzeString(string str) 
{ 
    Dictionary<string,int> contents = Dictionary<string,int>(); 
    string[] words = str.Split(' '); 
    foreach(string word in words) 
    { 
     if(contents.ContainsKey(word)) 
     { 
      contents[word]+=1; 
     } 
     else 
     { 
      contents.Add(word,1); 
     } 
    } 
    return contents; 
} 

С помощью этого вы можете увидеть, сколько раз запрашиваемое слово находится в строке. только путем проведения

int numberOfTimes = 0; 
if(contents.ContainsKey("yourDesiredWord")) 
    numberOfTimes = contents["yourDesiredWord"];