Twitter 情绪包问题 npm

Twitter sentiment package issues npm

我正在尝试使用 Angular、Node 和 Express 构建一个 Twitter 情绪分析工具。现在我可以抓取用户推文,删除 * 一些特殊字符,然后当我调用情绪函数时,它 returns input.lowercase 不是一个函数。我尝试改用 Sentimental 包,但它返回了一个非常相似的错误。

 router.post("/postUsername", function(req, res){
  console.log(req.body.userName);
  var client = new Twitter({
    consumer_key: ,
    consumer_secret: '',
    access_token_key: '',
    access_token_secret: ''
  });


  client.get('statuses/user_timeline', {screen_name: req.body.userName, count:20}, function(error, tweets, response) {
    if (!error) {
      var concatenatedTweets = analyzeIt.analyzeIt(tweets);
      console.log(concatenatedTweets);
      var score = sentiment(concatenatedTweets);
      console.log(score);
      }
  });
});

我的分析功能*功能无法按照我想要删除的方式工作

function analyzeIt(data) {
  return data.map(function(item){
    var puncutaionLess = item.text.replace("/[.,#!$%^&*;:{}=-_`~()]/g@?" , '');
    var finalString = puncutaionLess.replace(/\s{2,}/g," ");
    return finalString.replace("#@" , "");
  });
};

非常感谢任何帮助?

你的正则表达式很奇怪。

首先 javascript.

中的正则表达式没有引号

此外,您没有转义特殊字符:

   item.text.replace("/[.,#!$%^&*;:{}=-_`~()]/g@?" , '');

应该是:

   item.text.replace(/[\.,#!$%^&*;:{}=\-_`~()]/g , '');

注意 .

的转义

您可能还想在其中添加 []

例如:

text = "hello[!] there!";
text = text.replace(/[\.\[\],#!$%^&*;:{}=\-_`~()]/g , '');

 console.log(text)