Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 27.02.2016, 13:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

simple,
var str = "верх верх-низ влево-вправо назад-вперед";
str = str.replace(/(^|\s)верх\S+/g,"$1верх-вправо");
alert(str)
Ответить с цитированием
  #12 (permalink)  
Старый 27.02.2016, 14:16
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

рони, находит только "верх-низ" и заменяет его, а просто "верх" остается не тронутым. Логика такая, найти все слова начинающиеся с "верх" и заменить их на "верх-вправо"
__________________
На начальном этапе события могут казаться случайными, но постепенно проявляется связь, и в конце концов все части целого складываются
Ответить с цитированием
  #13 (permalink)  
Старый 27.02.2016, 15:30
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

методом тыка добавил "?" в выражение, не знаю насколько это правильно.
var str = "верх верх-низ влево-вправо назад-вперед";
str = str.replace(/(?:верх)?\S+/g, 'верх-право');
alert(str);


Работает не правильно заменяет всё на "верх-право".
__________________
На начальном этапе события могут казаться случайными, но постепенно проявляется связь, и в конце концов все части целого складываются
Ответить с цитированием
  #14 (permalink)  
Старый 27.02.2016, 15:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от simple
Логика такая, найти все слова начинающиеся с "верх" и заменить их на "верх-вправо"
сразу бы так написали
var str = "верх верх-низ влево-вправо назад-вперед";
str = str.replace(/(^|\s)верх\S*/g,"$1верх-вправо");
alert(str)
Ответить с цитированием
  #15 (permalink)  
Старый 27.02.2016, 19:04
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

рони,спасибо большое что помогаете.
А если просто вот так написать?
str = str.replace(/верх?\S+/g,"верх-право");

Работает как надо, но не слишком ли я упростил, есть подводные камни какие нибудь в этом?
__________________
На начальном этапе события могут казаться случайными, но постепенно проявляется связь, и в конце концов все части целого складываются

Последний раз редактировалось simple, 27.02.2016 в 19:10.
Ответить с цитированием
  #16 (permalink)  
Старый 27.02.2016, 19:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

simple,
если вам ненужны вертикаль и сверка то пожалуйста
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена символов в строке jquery, javascript Derty01 Общие вопросы Javascript 7 12.04.2018 20:38
Замена подстроки только 1 раз Telnet Events/DOM/Window 3 23.06.2015 10:29
Замена слова в строке на определенной позиции Hapson Общие вопросы Javascript 3 18.01.2014 05:17
Поиск в строке другой подстроки средствами JS YAN Общие вопросы Javascript 13 23.07.2013 09:41
Найти все подстроки в строке BorisBritva jQuery 2 11.04.2013 22:47