Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.02.2011, 15:40
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 1  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 612
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
По умолчанию RegExp replace: не удалять пробелы из текста в кавычках

Я с RegExp'ом на Вы, нужна помощь:

Есть выражение /[\s\n]*/ig

Оно удаляет все пробелы и переносы. А нужно, чтобы текст в кавычках (", ') сохранялся в первозданном виде. Помогите составить выражение.

Старый 18.02.2011, 16:58
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А внутри кавычек могут быть заэкранированые кавычки?
Хотя... в любом случае в цикле будет проще сделать, регулярка если и получится, то будет очень длинная... Или сначала разбить текс на части, без кавычек, заменить там, где нужно, и потом соеденить - так проще всего будет.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 18.02.2011 в 17:28.
Старый 18.02.2011, 17:01
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 3  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 612
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
нет, заэкранированых кавычек в тексте по идее быть не должно. Там будут их HTML коды ( " )


Последний раз редактировалось Rzer; 18.02.2011 в 17:06.
Старый 18.02.2011, 17:04
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 4  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
На 99% уверен что одним выражением не обойтись. Я бы сделал так - разбил текст на составляющие - то что в кавычках и обычный текст. И дальше бы уже работал с этими строками. Но и надо понимать что такие вещи как кавычки вложенные в кавычки - это вещь вовсе не тривиальная и тоже одними регулярными выражениями определить их нельзя.

Старый 18.02.2011, 18:16
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Что-нибудь такое.
Код:
private function removeSpacesOutsideQuotes(input:String):void
{
	var last:int;
	var resPart:String;
	var parts:Vector.<String> = new <String>[];
	var result:Object;
	var re:RegExp = /(["'])[^\1]*?\1/g;
	
	while (result = re.exec(input))
	{
		resPart = result[0];
		parts.push(
			input.substring(
			last, re.lastIndex - resPart.length).replace(/\s+/g, ""));
		parts.push(resPart);
		last = re.lastIndex;
	}
	trace(parts.join(""));
}
__________________
Hell is the possibility of sanity

Старый 18.02.2011, 18:36
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 6  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 612
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
Спасибо за ответы

Старый 19.02.2011, 01:35
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 7  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
еще есть извращенный вариант split + join :о)
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 19.02.2011, 02:13
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 8  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А как split / join учесть кавычки внутри кавычек? На первый взгляд я не увидел решения.
__________________
Hell is the possibility of sanity

Старый 19.02.2011, 03:41
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 9  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Пардон. Я неправильно понял задание. Подумал, что в кавычках всегда одно и то же. Спать мне пора.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:17.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:17.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.