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

у меня есть строка, которая имеет data-123 как его значение. Как в jQuery или Javascript Я бы вошел и удалил data- из строки при выходе из 123?

10 ответов


не требуется jQuery.

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

документы.


для всех случаев, которые будут отброшены используйте:

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

PS: функция replace возвращает новую строку и оставляет исходную строку без изменений, поэтому используйте возвращаемое значение функции после вызова replace ().


Это не имеет ничего общего с jQuery. Вы можете использовать JavaScript


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

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

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

демо

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

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

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

DEMO2


вы можете использовать slice () это returens 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"

демо


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

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

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


Ex: -

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

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


Я привык к строке C# (Sharp).метод Remove. В Javascript нет функции remove для string, но есть функция substr. Функцию substr можно использовать один или два раза для удаления символов из строки. Вы можете сделать следующую функцию для удаления символов в начальном индексе до конца строки, так же, как первая строка перегрузки метода c#.Удалить (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


используя match() и Number() возвратить number переменной:

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

// strNum = 123

вот что делает приведенное выше утверждение...рабочий средний выход:

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

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

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

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


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

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