我正在使用C#,我从twitter上发了推文 现在接下来我要做的是从推文功能中提取功能,如:
例如:功能A:推文中有7个字,查询字是第五个特征B:我,上,中,日本,右边,现在特征C:日本,右边
请建议我提取这些功能的一些好方法。因为我没有得到正确的方法来提取功能
答案 0 :(得分:0)
所有这些都是非常基本的字符串操作,假设您从它们收到一个字符串,那么这些操作就不会特别需要Twitter。
- 功能A(统计功能):推文消息中的字数和推文中单词的位置
醇>
您可以使用String.Split()
方法将每个单词用空格分隔,然后计算结果中可用元素的数量:
// This will return the number of words in your tweet
var wordCount = tweet.Split(' ').Length;
// If you wanted the position of a word, you could just use the IndexOf() method
var queryWordPosition = tweet.Split(' ').IndexOf(query);
- 功能B(关键字功能):推文中的字词。
醇>
同样,String.Split()
方法发挥作用,并将每个单词存储在数组中:
// This will store each of your words in an array
var words = tweet.Split(' ');
- 功能C(单词上下文功能):查询单词之前和之后的单词。
醇>
您可以再次使用上一种方法通过String.Split()
将每个值存储在数组中,并使用IndexOf()
方法查找您的特定查询字,然后检查上一个和下一个元素。阵列:
public string[] GetContext(string tweet, string query)
{
if(tweet == null || !tweet.Contains(query))
{
// Your word was not found (or your tweet was null)
return new string[] {};
}
var words = tweet.Split(' ');
// Find the location of the word
var queryIndex = words.IndexOf(query);
// Return the left and right values accordingly
return new string[]{ queryIndex > 0 ? words[queryIndex - 1] : null, queryIndex < words.Length ? words[queryIndex + 1] : null };
}