ItsEvilTime
@ItsEvilTime
Сайленсер не дает мне покоя

Как найти индекс символа через регулярное выражение?

Есть строка:
"scale(.5) translateY(90%) rotate(55deg)"

В ней мне нужно удалить запись "translateY(90%)".
Для этого мне нужно получить индекс начала и конца этой записи (т.е. 10 и 24 соответственно).

Первую часть я нашел - /translateY/ - возвращает 10.
А теперь нужно найти индекс закрывающейся скобки после этой записи. Как мне его найти? Значение в скобках может быть и 2% и 1500px, т.е. изначально неизвестно.
  • Вопрос задан
  • 213 просмотров
Решения вопроса 1
Jeiwan
@Jeiwan
> "scale(.5) translateY(12000px) rotate(55deg)".replace(/ translateY\(\d+.*?\)/, '')
'scale(.5) rotate(55deg)'
> "scale(.5) translateY(120%) rotate(55deg)".replace(/ translateY\(\d+.*?\)/, '')
'scale(.5) rotate(55deg)'
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
grigruss
@grigruss
Пока не задал ни одного вопроса... только отвечаю.
var stroka="scale(.5) translateY(90%) rotate(55deg)", start=stroka.indexOf('translateY'), end=stroka.indexOf('rotate'), result;
result=stroka.substr(0,start)+stroka.substr(end);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы