Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.10.2014, 21:44
Новичок на форуме
Отправить личное сообщение для Lina9494 Посмотреть профиль Найти все сообщения от Lina9494
 
Регистрация: 06.10.2014
Сообщений: 2

Работа с текстом

Всем привет! Есть такое задание: дан исходный текст на русском языке. Длина текста - не более NL символов, длина строки - не более NS символов, длина слова – не более NW символов. Исходный текст должен заканчиваться точкой. Составить процедуру, которая в заданном тексте находит слова, в которые входит заданная буква, но она не является первой буквой слова. В качестве результата вывести исходный текст, найденные слова и их количество.
У меня есть код проги, которая в заданном тексте находит слова, в которые НЕ входит заданная буква. Как исправить на нужный вариант , подскажите, пожалуйста
//laba2.3.js
var NL=80;
var NS=50;
var NW=10;
var txt="Привет! Как у тебя дела? Где точка? Вот она. \nЭто новая строка! И точка.";
var wordFind=[];
var str=txt.split('\n');
var lssn='а';
var wrd=txt.toLowerCase().split(' ');

function wordSearch(text,lesson)
{

var stp=['!','?',',','.'];

var i=0,j=0;
var countWord=0;

	while(wrd[i]!=null)
	{
		while(j!=4)
		{
			if(wrd[i].charAt(wrd[i].length-1)==stp[j])
			{
				wrd[i]=wrd[i].split(stp[j])[0];  
			}
			j++;
		}
		j=0;
		i++;
	}
	i=0;
	
	while(wrd[i]!=null)
	{
		if(wrd[i].search(lesson)==-1)
		{
			wordFind[countWord]=wrd[i];
			countWord++;
		}
		i++;		
	}
}
function check()
{
	var i=0;
	if(txt.length>NL)
	{
		WScript.Echo("Размер текста("+txt.length+" символов) превышает допустимые нормы:"+NL+" символов");
		return false;
		
	}
	else
	{
		while(str[i]!=null)
		{
			if(str[i].length>NS)
			{
				WScript.Echo("Размер "+(i+1)+"-ой строки("+str[i].length+" символов) превышает допустимые нормы:"+NS+" символов")
				return false;
			}
			i++;
		}
		i=0;
		while(wrd[i]!=null)
		{
			if(wrd[i].length>NW)
			{
				WScript.Echo("Размер "+(i+1)+"-го слова("+wrd[i].length+" символов) превышает допустимые нормы:"+NW+" символов")
				return false;
			}
			i++;
		}
		return true;
	}
}

wordSearch(txt,lssn);

if(check()!=false)
{
	WScript.Echo("Исходный текст:\n"+"'"+txt+"'"+"\nНайденные слова,не содержащие "+lssn+":"+wordFind+"\nКоличество слов:"+wordFind.length );
}

Последний раз редактировалось Lina9494, 06.10.2014 в 22:58.
Ответить с цитированием
  #2 (permalink)  
Старый 07.10.2014, 18:57
Аватар для XelaNimed
Интересующийся
Отправить личное сообщение для XelaNimed Посмотреть профиль Найти все сообщения от XelaNimed
 
Регистрация: 07.02.2010
Сообщений: 23

Здравствуйте.
Использование регулярных выражений запрещено преподавателем?! На мой взгляд решение поставленной задачи можно организовать проще при их использовании.

1. Проверяем входные данные (общая длина текста, точка в конце текста).
2. Делим текст по переносам строк, т.к. длину строки нужно проверять.
3. В цикле проверяем длину строки.
4. Регулярным выражением выбираем все слова из строки.
5. В цикле проверяем каждое слово (длину, что не начинается на искомую букву, присутствие искомого символа) и при удовлетворении всех условий добавляем в результирующий массив.

Если же использование регулярных выражений запрещено, то необходимо будет иметь объект или массив со всеми русскими буквами (т.к. перечисление всех возможных символов не тривиальная задача) и при переборе по символам строки проверять текущий символ на присутствие в массиве или объекте.
На JSFiddle набросал небольшой примерчик, как могло бы это выглядеть при использовании RegExp.
Ответить с цитированием
  #3 (permalink)  
Старый 07.10.2014, 20:43
Новичок на форуме
Отправить личное сообщение для Lina9494 Посмотреть профиль Найти все сообщения от Lina9494
 
Регистрация: 06.10.2014
Сообщений: 2

да, спасибо большое, решение уже было найдено )
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с текстом переменной Vladjiss Элементы интерфейса 2 21.08.2013 05:24
Работа с текстом Vale of tears Общие вопросы Javascript 13 01.08.2013 02:38
Работа с текстом на сайте wayzer Элементы интерфейса 5 07.06.2013 20:41
Работа с текстом, выделенным в textarea (opera+ff) Белый шум Общие вопросы Javascript 12 21.01.2012 01:54
Работа с выделенным текстом. lancer Общие вопросы Javascript 1 21.03.2008 16:55