我正在用c#做项目,我正在寻找可以帮助我检查句子是正面还是负面的代码,或者基于表情符号来检查。
例如:
我的项目领域是情绪分析。
答案 0 :(得分:2)
另一个正则表达式;)
string input = "I don't want to go to College :( :) :) ";
var score = Regex.Matches(input, @"(?<a>:\))|(?<b>:\()")
.Cast<Match>()
.Select(m => m.Groups["a"].Success ? 1 : -1)
.Sum();
答案 1 :(得分:1)
var upScore = Regex.Matches(input, @":\)").Count;
var downScore = Regex.Matches(input, @":\(").Count;
var totalScore = upScore - downScore;
虽然在MatchEvaluator
中使用副作用是不良做法,但您也可以使用Regex.Replace
对字符串进行单次传递:
var score = 0;
MatchEvaluator match = m =>
{
score += m.Value[1] == ')' ? 1 : -1;
return m.Value;
};
Regex.Replace(input, ":[()]", match);