问题描述
我有一个[stringKey1:stringValue1][stringKey2:stringValue2][stringKey3:stringValue3]
形式的字符串。
我在使用正则表达式通过[]
来删除stringKey
之间的字符串时遇到了麻烦。
我想做的是
const string = "[stringKey1:stringValue1][stringKey2:stringValue2][stringKey3:stringValue3]";
const newString = removeStringKey("stringKey2");
newString === "[stringKey1:stringValue1][stringKey3:stringValue3]"
有什么建议吗?
解决方法
使用正则表达式替换:
function removeStringKey(key,input) {
var re = new RegExp("\\[" + key + ":.*?\\]");
return input.replace(re,"");
}
const string = "[stringKey1:stringValue1][stringKey2:stringValue2][stringKey3:stringValue3]";
console.log(removeStringKey("stringKey2",string));