我得到了一个data-123字符串。

我如何删除数据-从字符串,而离开123?


当前回答

如果要替换循环中的字符串,请确保在每次迭代中初始化一个新的Regex。截至9/21/21,这仍然是一个已知的问题,Regex基本上错过了每一个其他匹配。当我第一次遇到这个问题时,我大吃一惊:

yourArray.forEach((string) => {
    string.replace(new RegExp(__your_regex__), '___desired_replacement_value___');
})

如果你试着这样做,不要惊讶,如果只有其他所有的工作

let reg = new RegExp('your regex');
yourArray.forEach((string) => {
    string.replace(reg, '___desired_replacement_value___');
})

其他回答

const newString = string.split("data-").pop();
console.log(newString); /// 123

var ret =“data-123”。 游戏机。log(雷特);/ / prints: 123

文档。


对于所有被丢弃的事件使用:

var ret = "data-123".replace(/data-/g,'');

PS: replace函数返回一个新字符串并保持原始字符串不变,因此在replace()调用之后使用函数返回值。

简单的JavaScript就足够了——对于这样一个简单的任务,jQuery是不必要的:

var myString = "data-123";
var myNewString = myString.replace("data-", "");

有关更多信息和用法,请参阅MDN上的.replace()文档。

我做的这个小函数一直很适合我:)

String.prototype.deleteWord = function (searchTerm) {
    var str = this;
    var n = str.search(searchTerm);
    while (str.search(searchTerm) > -1) {
        n = str.search(searchTerm);
        str = str.substring(0, n) + str.substring(n + searchTerm.length, str.length);
    }
    return str;
}

// Use it like this:
var string = "text is the cool!!";
string.deleteWord('the'); // Returns text is cool!!

我知道这不是最好的,但它一直对我有效:)

如果要替换循环中的字符串,请确保在每次迭代中初始化一个新的Regex。截至9/21/21,这仍然是一个已知的问题,Regex基本上错过了每一个其他匹配。当我第一次遇到这个问题时,我大吃一惊:

yourArray.forEach((string) => {
    string.replace(new RegExp(__your_regex__), '___desired_replacement_value___');
})

如果你试着这样做,不要惊讶,如果只有其他所有的工作

let reg = new RegExp('your regex');
yourArray.forEach((string) => {
    string.replace(reg, '___desired_replacement_value___');
})