Подтвердить что ты не робот

Как удалить текст из строки?

У меня есть строка data-123.

Как я могу удалить data- из строки, оставляя 123?

4b9b3361

Ответ 1

Нет необходимости JQuery.

var ret = "data-123".replace('data-','');
console.log(ret);   //prints: 123

Ответ 2

Это не имеет ничего общего с jQuery. Вы можете использовать функцию JavaScript replace для этого:

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

Вы также можете передать регулярное выражение для этой функции. В следующем примере он заменит все, кроме цифр:

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

Ответ 3

Вы можете использовать "data-123".replace('data-','');, как уже упоминалось, но поскольку replace() заменяет только экземпляр FIRST соответствующего текста, если ваша строка была чем-то вроде "data-123data-", тогда

"data-123data-".replace('data-','');

заменит только первый соответствующий текст. И ваш выход будет "123data-"

DEMO

Итак, если вы хотите, чтобы все совпадения текста были заменены в строке, вам нужно использовать регулярное выражение с флагом g:

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

И ваш выход будет "123"

DEMO2

Ответ 4

вы можете использовать slice(), он обновляет charcters между началом до конца (включенная конечная точка)

   string.slice(start , end);

вот несколько exmp, чтобы показать, как это работает:

var mystr = ("data-123").slice(5); // jast define start point so output is "123"
var mystr = ("data-123").slice(5,7); // define start and end  so output is "12"
var mystr=(",246").slice(1); // returens "246"

Демо

Ответ 5

Достаточно простого обычного JavaScript - jQuery не требуется для такой простой задачи:

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

Для получения дополнительной информации и использования см. .replace() docs в MDN.

Ответ 6

Ex: -

var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);

Надеюсь, это сработает для вас.

Ответ 7

Я был использован для метода С# (Sharp) String.Remove. В Javascript нет функции удаления для строки, но есть функция substr. Вы можете использовать функцию substr один или два раза для удаления символов из строки. Вы можете сделать следующую функцию для удаления символов в начале индекса до конца строки, так же как метод С# сначала перегружает String.Remove(int startIndex):

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

и/или вы также можете сделать следующую функцию для удаления символов в начале индекса и подсчета, так же как второй метод перегрузки С# String.Remove(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

Ответ 8

Эта небольшая функция, которую я сделал, всегда работала для меня:)

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 the cool!!";
string.deleteWord('the'); // Returns text is cool!!

Я знаю, что это не самое лучшее, но это всегда сработало для меня:)

Ответ 9

Используя match() и Number(), чтобы вернуть переменную number:

Number(("data-123").match(/\d+$/));

// strNum = 123

Здесь то, что делает вышеприведенное высказывание... работающий средний:

  • str.match(/\d+$/) - возвращает массив, содержащий совпадения с любой длиной чисел в конце str. В этом случае он возвращает массив, содержащий один строковый элемент ['123'].
  • Number() - преобразует его в тип числа. Поскольку массив, возвращаемый из .match(), содержит один элемент Number(), он вернет номер.

Ответ 10

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

Это заменит все вхождения этой конкретной строки из исходной строки.