问题描述
首先,我是Java语言的新手,所以请轻描淡写。 我知道人们现在对支付IFTTT的感觉,但是它非常适合我需要。
我在下面使用此代码的更广泛版本,以从“推文”中捕获某些关键字,然后在搜索返回肯定结果时生成电子邮件。此搜索非常有效,除了区分大小写这是一个问题。
是的,我知道您可以操纵Twitter搜索来挑选特定的单词或短语。我非常精通这种搜索方式。我正在使用一个广泛的网络来查找大约120个搜索单词或短语,而仅通过“或” Twitter搜索参数就无法实现,这就是我使用它的原因。
第一季度-我尝试在代码的各个部分中添加item.toLowerCase()
和.toLowerCase()
,因此搜索词的句子大小写是否不同都没关系与原始推文文本大小写相同。我只是无法使它工作。我在这里看到过各种帖子,但我无法在IFTTT中工作。我相信IFTTT也不会接受REGEX,这很烦人。
关于如何运行此代码的任何建议,以免对IFTTT中的文本区分大小写?
第二季度-我为推文输入了大约120个搜索词,以返回肯定的结果。随之而来的是很多垃圾。有谁知道如何添加第二层“和排除”搜索词?
我有300-400个单词和一些特定的词组,这些词可以用来阻止电子邮件被触发-因此它就像是如果tweet文本包含a,b,c但文本也包含x,y,z ...不发送电子邮件“
let str=Twitter.newTweetFromSearch.Text;
let searchTerms=[
"northbound","Westbound","Southbound","Eastbound"
]
let foundOne=0;
if(searchTerms.some(function(v){return str.indexOf(v)>=0;})){
foundOne=1;
}
if(foundOne==0){
Email.sendMeEmail.skip();
}
我已经看过Twitter API,但这对我的编码能力来说是太过远了,这就是为什么我使用IFTTT。
非常感谢您的帮助 谢谢。
解决方法
此刻我正在与IFTTT Filter一起玩,所以这里有一些关于解决您的解决方案的想法。
如果要对原始文本使用不区分大小写的格式,请将原始文本转换为小写,然后将所有搜索词都转换为小写。
另外,我认为您想遍历searchTerms数组,并使用includes()
方法。好的,只是意识到.some()
为您做了迭代,但是我更喜欢includes()
胜过indexof()
。
let str=Twitter.newTweetFromSearch.Text.toLowerCase();
let searchTerms=[
"northbound","westbound","southbound","eastbound"
]
let foundOne=0;
if(searchTerms.some(function(term){return str.includes(term);})){
foundOne=1;
}
if(foundOne==0){
Email.sendMeEmail.skip();
}
或者您可以跳过具有foundOne
变量,然后在if()
语句中进行搜索。
let str=Twitter.newTweetFromSearch.Text.toLowerCase();
let searchTerms=[
"northbound","eastbound"
]
if(!searchTerms.some(function(term){return str.includes(term);})){
Email.sendMeEmail.skip();
}