Как удалить текст из строки в 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 ().
можно использовать "data-123".replace('data-','');
, как указано, а как replace()
заменяет первый экземпляр соответствующего текста, если ваша строка была чем-то вроде "data-123data-"
затем
"data-123data-".replace('data-','');
заменит только первый соответствующий текст. И ваш выход будет "123data-"
поэтому, если вы хотите, чтобы все совпадения текста были заменены в строке, вы должны использовать регулярное выражение с g
флаг как что:
"data-123data-".replace(/data-/g,'');
и ваш выход будет "123"
вы можете использовать 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
вот что делает приведенное выше утверждение...рабочий средний выход:
-
str.match(/\d+$/)
- возвращает массив, содержащий совпадения с любой длиной чисел в концеstr
. В этом случае он возвращает массив, содержащий один строковый элемент['123']
. -
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!!
Я знаю, что это не самый лучший, но он всегда работал для меня :)