如何 return 文本中的单词数量 onclick 或 tap

How return number of the word in text onclick or tap

如何return 文本中点击或点击的字数?

我正在考虑使用 Find.HitHighlight 方法 (Word) - MSDN(或类似的东西),但我不知道如何使用。现在我可以计算我所拥有的文本中的单词并将它们存储在集合中,但我现在如何知道点击或录制了哪个,以便它可以 return 我在集合中的那个单词的数量并突出显示它。

非常感谢!

这是 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;
    }
}

你应该做的是使用字典,其中每个单词都是键值。

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"];