Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.02.2013, 20:28
Интересующийся
Отправить личное сообщение для Maxim_Never Посмотреть профиль Найти все сообщения от Maxim_Never
 
Регистрация: 06.11.2012
Сообщений: 15

Работа со строками
Смысл скрипта: вырезать в массив все вопросительные предложения из текста. Работа скрипта - вырезать все, что начинается с символов [ .!? ] - (это как бы всевозможные окончания предложений) и заканчивается символом [ ? ]. То что осилил я - вырезает все только от символа [ . ] и заканчивается символом [ ? ] - как можно выкрутится - есть предложения ?
----------------------------------------------------
function getQuestionStringFromText(text)
	{
		founds = new Array();
		_mod = text.length;
		while(true)
		{
			s_end = text.lastIndexOf("?", _mod);		// начало
				if(s_end == -1) break;
				
			s_start = text.lastIndexOf(".", s_end);		// конец 
			// [вот тут проблема - можно указать только один символ в параметре indexOf]
			// как можно сделать что-то типо s_start = text.lastIndexOf("." || "!" || "?", s_end);
				if(s_start == -1) break;			
				
			founds.push(text.slice(s_start+1, s_end+1));
			_mod = s_start;
		}
		return founds;
	}

	var searchStr = getQuestionStringFromText(str);
	searchStr[0]  // первое пр-е
    searchStr[1]  // второе пр-е

---------------------------------------------------------
Или я использую в корне неправильный способ решения этой проблемы ?
Ответить с цитированием
  #2 (permalink)  
Старый 06.02.2013, 20:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Maxim_Never,
var str ='Смысл скрипта: вырезать в массив все вопросительные предложения из текста! Работа скрипта - вырезать все, что начинается с символов.это как бы всевозможные окончания предложений и заканчивается символом ?То что осилил я - вырезает все только от символа  и заканчивается символом? как можно выкрутится.есть предложения ?'
alert(str.match(/([^.!?]+)\?/mig).join('\n'));
Ответить с цитированием
  #3 (permalink)  
Старый 06.02.2013, 20:52
Интересующийся
Отправить личное сообщение для Maxim_Never Посмотреть профиль Найти все сообщения от Maxim_Never
 
Регистрация: 06.11.2012
Сообщений: 15

Шикаррно - спасибо )
Ответить с цитированием
  #4 (permalink)  
Старый 06.02.2013, 20:53
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от рони
/mig
Цитата:
есть только миг, между прошлым и будущим...
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #5 (permalink)  
Старый 06.02.2013, 20:58
Интересующийся
Отправить личное сообщение для Maxim_Never Посмотреть профиль Найти все сообщения от Maxim_Never
 
Регистрация: 06.11.2012
Сообщений: 15

А что кстати /mig означает ?
------------------------------
Все нашел

Последний раз редактировалось Maxim_Never, 06.02.2013 в 21:02.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками Destrifer Общие вопросы Javascript 18 29.05.2013 00:51
Не показывает количество символов, работа со строками, форма для регистраци kvadratnt Общие вопросы Javascript 4 11.12.2012 23:15
Работа со строками puls Общие вопросы Javascript 1 01.03.2011 22:53
работа со строками в IE8 rimdus Internet Explorer 5 04.09.2010 15:52
низкоуровневая работа со строками KOLANICH Общие вопросы Javascript 5 07.07.2010 23:05