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

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


当前回答

我习惯了c#(尖锐)字符串。删除的方法。 在Javascript中,字符串没有remove函数,但是有substr函数。 可以使用substr函数一次或两次从字符串中删除字符。 您可以使用下面的函数删除字符串末尾的起始索引处的字符,就像c#方法首先重载string一样。删除(int startIndex):

function Remove(str, startIndex) {
    return str.substr(0, startIndex);
}

和/或你也可以让下面的函数删除字符在开始索引和计数,就像c#方法第二次重载字符串。删除(int startIndex, int count):

function Remove(str, startIndex, count) {
    return str.substr(0, startIndex) + str.substr(startIndex + count);
}

然后您可以使用这两个函数或其中一个来满足您的需要!

例子:

alert(Remove("data-123", 0, 5));

输出:123

其他回答

str.split('Yes').join('No'); 

这将从原始字符串中替换该特定字符串的所有出现。

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

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!!

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

我习惯了c#(尖锐)字符串。删除的方法。 在Javascript中,字符串没有remove函数,但是有substr函数。 可以使用substr函数一次或两次从字符串中删除字符。 您可以使用下面的函数删除字符串末尾的起始索引处的字符,就像c#方法首先重载string一样。删除(int startIndex):

function Remove(str, startIndex) {
    return str.substr(0, startIndex);
}

和/或你也可以让下面的函数删除字符在开始索引和计数,就像c#方法第二次重载字符串。删除(int startIndex, int count):

function Remove(str, startIndex, count) {
    return str.substr(0, startIndex) + str.substr(startIndex + count);
}

然后您可以使用这两个函数或其中一个来满足您的需要!

例子:

alert(Remove("data-123", 0, 5));

输出:123

这与jQuery没有任何关系。你可以使用JavaScript的替换函数:

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

你也可以给这个函数传递一个正则表达式。在下面的例子中,它将替换除数字以外的所有内容:

str = str.replace(/[^0-9\.]+/g, "");

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

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

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