2 u012823326 u012823326 于 2017.08.31 00:29 提问

js 正则表达式获取${}$中的值 1C

var str = "${DataField}$ + ${Operation}$ + ${Data}$";
如何得到 DataField Operation Data

6个回答

zy841958835
zy841958835   Ds   Rxr 2017.08.31 08:42

/\${[^\+]+}/

zy841958835
zy841958835   Ds   Rxr 2017.08.31 08:50

var str = "${DataField}$ + ${Operation}$ + ${Data}$";
var g = /\${[^+]+}/;
var group = str.match(g);

zy841958835
zy841958835 var g = /\${[^+]+}/g;
3 个月之前 回复
huang931027
huang931027   2017.08.31 10:05
    var str1 = "${DataField}$ + ${Operation}$ + ${Data}$";
    var strArr=str1.split("+");

    var str ="";
    for(var i=0;i<strArr.length;i++){

        str=strArr[i].replace("${", "");
        str=str.replace("}$", "");
        alert(str)

    }
sysu_Mid
sysu_Mid   2017.08.31 16:58

如楼上所说,使用replace函数,
将$,{,}替换成空字符,将+替换成空格

HUSHILIN001
HUSHILIN001   2017.09.02 17:42

正则的方式已经有很多了,我就说个非正则的吧,你可以使用split去根据+号切割,然后获取到三个数组。接下来每个数组去掉第一第二个字符串还有
最后那个字符串,然后就可以了

HUSHILIN001
HUSHILIN001   2017.09.02 17:49
var str1 = "${DataField}$+${Operation}$+${Data}$"; console.log(str1.split("+")); var arr = str1.split("+"); for(var i = 0; i < arr.length; i++) { console.log(arr[i].slice(2, arr[i].length - 2)); }
Csdn user default icon
上传中...
上传图片
插入图片