用Javascript解析文本

用Javascript解析文本,javascript,parsing,Javascript,Parsing,我正在尝试使用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 @re

我正在尝试使用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 活动 @家 @出去 @家 为时间读一本书 清理房间,等待时间 @出去 在@餐厅吃饭 @书 恩德斯游戏 指环王 @房间 卧室 车库 地下室 @餐厅 红罗宾 麦当劳 星巴克 @时间 15分钟 30分钟 45分钟 60分钟 磅/和符号将用于区分不同的类别

然后根据给定输入随机确定输出,例如:

“在星巴克吃饭。” 或 “读《指环王》60分钟。” 或 “打扫车库30分钟。”

这可行吗?这似乎应该相当简单,但我不知道从哪里开始。有什么建议吗

谢谢

阿尔伯特

怎么样:

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);
  }
}
var myText=…;//输入文本
var lines=myText.split(“\n”);
var numLines=lines.length;
var i;
无功电流部分;
var节=数组();
var=Array();
//解析短语
对于(i=0;i

它不太复杂,但能起作用。虽然没有测试过,但是类似的东西应该可以用。如果这只是工作,乐趣何在;没有问题。根据换行符将文本框值拆分为数组。然后,逐个遍历数组中的一个元素,将值排序为每个部分的变量。最后,使用JavaScript的随机数生成器随机确定要选择的每组。通过将值分配给HTML元素来输出给用户。

解析?你的意思是自动完成还是我忽略了这里的要点?我的意思是让javascript浏览文本并在阅读过程中对其进行分析-例如,当涉及到一个变量(这里用“@”表示)时,它会跳转到可能的“答案”列表对于该变量,选择一个随机变量,并以字符串形式返回整个结果。我知道,这里的好人已经为您编写了代码,祝您好运!他们也这么做了!感谢您检查我的问题。谢谢-这一点都不好玩;P该开始胡闹了!lines.size应该是lines.lengthMakes。在您的评论和M之间伊恩,我想我可以拼凑一些东西。谢谢!