【发布时间】:2019-04-15 23:08:23
【问题描述】:
这就是我要从中删除字符串的内容:
var myl = 'okok{"msg":"uc_okok"}'
结果应该是:
{"msg":"uc_okok"}
我尝试过使用正则表达式
var news = myl.toString().replace(/ \{(.*""?)\}/g);
但它不起作用?有什么想法吗?
【问题讨论】:
标签: javascript jquery regex
这就是我要从中删除字符串的内容:
var myl = 'okok{"msg":"uc_okok"}'
结果应该是:
{"msg":"uc_okok"}
我尝试过使用正则表达式
var news = myl.toString().replace(/ \{(.*""?)\}/g);
但它不起作用?有什么想法吗?
【问题讨论】:
标签: javascript jquery regex
如何使用以下内容;
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"));
【讨论】:
我认为okok.. 是一个字符串
var d = 'okok{"msg":"uc_okok"}'
console.log(d.slice(d.indexOf('{'), d.lastIndexOf('}') + 1))
【讨论】:
d.lastIndexOf('}') 否则失败 adgadga{"okok":{"msg":"uc_okok"}}adfagad
s = 'okok{"msg":"uc_okok"}';
s = '{' + s.split('{')[1].split('}')[0] + '}';
console.log(s);
【讨论】:
您也可以简单地提取括号之间的字符串,如下所示;
var myl = "okok{\"msg\":\"uc_okok\"}okok";
var mylExtractedStr = myl.match('\{.*\}')[0];
console.log(mylExtractedStr);
【讨论】:
只需使用此代码 - 它将项目拆分为一个数组,并删除第一个元素:
var news = myl.toString().split("{").shift().unshift("{").join("");
【讨论】:
您可以改为捕获它:
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);
}
【讨论】: