我有以下字符串:
text = '20 as a % of 50'
我需要使用正则表达式替换它,结果应该是:
'20 / 50 * 100'
我该怎么做?
答案 0 :(得分:3)
我在这里创建了一个示例: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 :(得分:0)
这应该对你有帮助,
var str="20 as a % of 50";
var patt1=/(\d)+/g;
alert(str.match(patt1)[0]+ "/"+ str.match(patt1)[1] + "* 100");