我有这样替换方括号和花括号圆括号中的JavaScript或jQuery的
var data = "{45}*[52]*{45}*[52]*{45}*[52]*69"
我需要一个字符串替换所有方括号&花括号圆括号中的JavaScript或jQuery的
我已经试过这
.replace(/[\[\]']+/g,'')
但它取代所有并行
打开和关闭括号预期结果是= "(45)*(52)*(45)*(52)*(45)*(52)*69"
任何想法?
我有这样替换方括号和花括号圆括号中的JavaScript或jQuery的
var data = "{45}*[52]*{45}*[52]*{45}*[52]*69"
我需要一个字符串替换所有方括号&花括号圆括号中的JavaScript或jQuery的
我已经试过这
.replace(/[\[\]']+/g,'')
但它取代所有并行
打开和关闭括号预期结果是= "(45)*(52)*(45)*(52)*(45)*(52)*69"
任何想法?
在一个简单的方法,你可以使用
"{45}*[52]*{45}*[52]*{45}*[52]*69".split(/[\{\[]/).join('(').split(/[\}\]]/).join(')')
谢谢Harpreet ..这是我的预期..一个单行代码!其真棒+1 –
@ Jake745谢谢,很高兴帮助:) –
更换
var data = "{45}*[52]*{45}*[52]*{45}*[52]*69";
data = data.replace(/[\[\{](\d+)[\]\}]/g, "($1)")
虽然它也将取代[123}和{123]与(123)......所以技术上不正确
,如果你想只替换“正确”的格式输入,需要两个更换电话
data = data.replace(/[\{](\d+)[\}]/g, "($1)").replace(/[\[](\d+)[\]]/g, "($1)")
我认为
感谢您的支持:)它真的帮助我获得有价值的知识+1 –
您可以使用函数作为第二个参数调用.replace()
。 使用此功能,您可以创建一个新的子字符串作为替换。
str.replace(regexp|substr, newSubStr|function[, flags])
功能(替换)
一个函数被调用以创建新的子 (到位子串的从参数 1接收)。提供给此函数的参数在下面的“指定函数作为参数”一节中进行了介绍。指定一个函数作为参数
您可以指定一个函数作为第二个参数。在这种情况下, 函数将在匹配执行后被调用。 函数的结果(返回值)将被用作替换 字符串。 (注意:在这种情况下,上述特殊替换模式不适用 )。请注意,如果第一个参数是全局的,则对于要替换的每个完整匹配,函数将被调用多个 次。
"[abc]".replace(/\[|\]/g, function(m) {
var replacements = {"[": "(", "]": ")"}; return replacements[m];
});
完整答案: “{45} * [52] * {45} * (替代方案)[52] * {45} * [52] * 69“.replace(/(\ [| \])|(\ {| \})/ g,function(m)var replacements = {”[“ “(”,“]”:“)”,“{”:“(”,“}”:“)”}; return replacements [m]; }); –
此解决方案比其他解决方案具有更好的性能 –
感谢您的支持:)其信息! +1 –
尝试利用RegExp
/(.\d{2}.)/
前两个数字,两个数字,任何字符的任何字符相匹配; .match()
匹配数字,返回替换字符串
var data = "{45}*[52]*{45}*[52]*{45}*[52]*69";
var res = data.replace(/(.\d{2}.)/g, function(match) {
return "(" + match.match(/\d+/)[0] + ")"
});
document.body.textContent = res;
感谢您的支持:) +1 –
'.replace(/ [\ [\ {](\ d +)[\] \}] /克, “($ 1)”) ' –