【发布时间】:2017-10-13 18:47:35
【问题描述】:
我正在尝试编写一个 twitter 机器人来回复带有随机俳句的人,但我无法在 javascript 中为其创建结构。在我附加的代码中,您会看到使用 p5.js 我加载了两个文本文件,一个带有一堆名词,另一个带有一堆形容词。然后我使用我找到的一些代码将它们按音节拆分,但我无法弄清楚如何将我的列表重新组织成每个音节数量的单独数组。
如“oneSyllable = []”、“twoSyllable = []”等
任何帮助都将不胜感激 - 即使只是解释正则表达式函数的作用也会有所帮助。这个- (/(?=[^laeiouy]es|ed|[^laeiouy]e)$/, '')
另外,有没有更简单的方法可以在 javascript 中执行此操作?使用 p5 意味着我必须使用命令行将它运行到 twitter 机器人,这是我仍然需要学习的东西。如果您有任何有关制作俳句 twitter 机器人的其他信息,请告诉我!我做了很多研究,但我找不到任何源代码。
这是一个即将到期的最终代码,我已经超出了我的深度!希望有人能帮忙。
function setup() {
createCanvas(600, 6000);
fill(0);
loadStrings("./nouns.txt", doText);
loadStrings("./adjectives.txt", doText2);
}
function doText(data) {
for (var i=0; i<data.length; i++) {
text("Nouns list:", 5, 20);
text(data[i]+ ": " + (new_count(data[i])), 5, 20*i+50);
}
}
function doText2(data) {
for (var j=0; j<data.length; j++) {
text("Adjectives list:", 100, 20);
text(data[j]+ ": " + (new_count(data[j])), 100, 20*j+50);
}
}
function new_count(word) {
word = word.toLowerCase();
if(word.length <= 3) { return 1; }
word = word.replace(/(?=[^laeiouy]es|ed|[^laeiouy]e)$/, '');
word = word.replace(/^y/, '');
return word.match(/[aeiouy]{1,2}/g).length;
}
【问题讨论】:
标签: javascript arrays regex sorting twitter