这就是我要删除的字符串:
var myl = 'okok{"msg":"uc_okok"}'
,结果应为:
{"msg":"uc_okok"}
我尝试过使用正则表达式
var news = myl.toString().replace(/ \{(.*""?)\}/g);
但是它不起作用?有什么想法吗?
答案 0 :(得分:10)
如何使用以下内容;
myl.toString().replace(/.*?({.*}).*/, "$1")
它也应适用于多层支架;
str = 'okok{"msg":"uc_okok"}';
console.log(str.replace(/.*?({.*}).*/, "$1"));
str = 'adgadga{"okok":{"msg":"uc_okok"}}adfagad';
console.log(str.replace(/.*?({.*}).*/, "$1"));
答案 1 :(得分:8)
我假设okok..
是一个字符串
var d = 'okok{"msg":"uc_okok"}'
console.log(d.slice(d.indexOf('{'), d.lastIndexOf('}') + 1))
答案 2 :(得分:4)
s = 'okok{"msg":"uc_okok"}';
s = '{' + s.split('{')[1].split('}')[0] + '}';
console.log(s);
答案 3 :(得分:3)
只需使用此代码-它会将项目拆分为一个数组,并删除第一个元素:
var news = myl.toString().split("{").shift().unshift("{").join("");
答案 4 :(得分:3)
此外,您也可以按如下所示简单地提取方括号之间的字符串;
var myl = "okok{\"msg\":\"uc_okok\"}okok";
var mylExtractedStr = myl.match('\{.*\}')[0];
console.log(mylExtractedStr);
答案 5 :(得分:2)
您可以捕获它:
var myString = 'okok {"msg":"uc_okok"} bla bla bla';
var myRegexp = /({[^{}]*})/g;
var match = myRegexp.exec(myString);
console.log(match[1]);
这可以放在循环(while...
)中,但不适用于嵌套的括号:
var myString = 'okok {"msg":"uc_okok"} bla bla bla {"msg":"uc_okok212121"} lorem ipsum';
var myRegexp = /({[^{}]*})/g;
var match = myRegexp.exec(myString);
while(match !== null) {
console.log(match[1]);
match = myRegexp.exec(myString);
}