#javascript #regex #string
#javascript #регулярное выражение #строка
Вопрос:
У меня есть следующая строка:
text = '20 as a % of 50'
Мне нужно заменить его с помощью регулярного выражения, результат должен быть:
'20 / 50 * 100'
Как я могу это сделать?
Комментарии:
1. Можете ли вы привести другой пример? Я не могу получить обычный шаблон из этого
2. звучит так, как будто вы пытаетесь взломать часть формы «вы человек» 😉
Ответ №1:
Я создал пример здесь: http://regexr.com ?2tfam
Вы можете сопоставить с (d ) as a % of (d )
и заменить на $1 / $2 * 100
.
var a="text = '20 as a % of 50'";
alert(a.replace(/(d ) as a % of (d )/, '$1 / $2 * 100'));
Я также создал jsFiddle.
РЕДАКТИРОВАТЬ: Если ваш текст между числами изменится, вы можете использовать это регулярное выражение:
(d )[%a-zA-Z ] (d )
Предполагается, что оператор равен %, а между цифрами могут встречаться только буквы и пробелы.
Комментарии:
1. спасибо, а что, если между двумя числами могут быть символы, например 100 usd как % от 200 usd, и мне нужно сохранить usd в str?
Ответ №2:
Это должно помочь вам,
var str="20 as a % of 50";
var patt1=/(d) /g;
alert(str.match(patt1)[0] "/" str.match(patt1)[1] "* 100");