我正在尝试使用 Javascript 来解析在文本框中输入的文本 - 这将结合各种用户生成的变量来创建随机活动。看看这个例子可能更有意义。一些示例输入可能是:
Activity
@Home
@Out
@Home
Read @book for @time
Clean up @room for @time
@Out
Eat at at @restaurant
@book
Enders Game
Lord of the Rings
@room
bedroom
garage
basement
@restaurant
Red Robin
McDonalds
Starbucks
@time
15 minutes
30 minutes
45 minutes
60 minutes
井号/和符号将用于分隔不同的类别。
然后,输出将根据给定的输入随机确定,例如:
“去星巴克吃饭。”
或者
“读《指环王》60 分钟。”
或者
“清洁车库 30 分钟。”
这可行吗?看起来应该很简单,但我不知道从哪里开始。有什么建议么?
Thanks,
Albert
怎么样:
var myText = ...; // Input text
var lines = myText.split("\n");
var numLines = lines.length;
var i;
var currentSection;
var sections = Array();
var phrases = Array();
// parse phrases
for (i = 0; i < numLines; i++) {
var line = lines[i];
if (line.indexOf('@') == 1) {
// start of e.g. time section, handled in nex loop
break;
} else {
// phrase
phrase.push(line);
}
}
// parse sections
for ( ; i < numLines; i++) {
var line = lines[i];
if (line.indexOf('@') == 1) {
// start of next section, handled in nex loop
currentSection = line;
sections[currentSection] = new Array();
} else {
// add section entry
sections[currentSection].push(line);
}
}
它不是太复杂,但可以完成工作。虽然没有测试过,但类似的东西应该可以工作。如果这行得通的话,还有什么乐趣呢;D
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)