使用正则表达式删除字符串中的键值

问题描述

我有一个[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));
 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...