자바 스크립트를 사용하여 텍스트 상자에 입력 된 텍스트를 구문 분석하려고합니다. 다양한 사용자 생성 변수를 결합하여 임의의 활동을 생성합니다. 이것은 예제를 보면서 더 이해할 수 있습니다. 몇 가지 입력 예는 다음과 같을 수 있습니다.자바 스크립트로 텍스트 구문 분석하기
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 분 동안 청소하십시오."
이 것이 가능합니까? 꽤 간단해야 할 것 같지만 어디서부터 시작해야할지 모르겠습니다. 어떤 제안?
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);
}
}
그것은 너무 정교한 아니지만, 작업을 수행에 대해 어떻게
감사합니다,
알버트
구문 분석? 자동 완성과 같은 의미입니까, 아니면 여기에서 요점을 놓치고 있습니까? –
자바 스크립트가 텍스트를 살펴보고 분석 할 때이를 의미합니다. 예를 들어, 변수 ("@"로 지정하면 여기에서 가능한 답변 목록으로 이동합니다. 그 변수, 무작위로 하나를 선택하고 문자열로 전체 결과를 반환 – Albert
잘, 여기 좋은 사람들은 이미 행운을 빕니다! –