У меня есть data-123
строка
Как я могу удалить data-
из строки, оставляя 123
?
У меня есть data-123
строка
Как я могу удалить data-
из строки, оставляя 123
?
Ответы:
var ret = "data-123".replace('data-','');
console.log(ret); //prints: 123
Для всех случаев, которые будут отброшены, используйте:
var ret = "data-123".replace(/data-/g,'');
PS: функция replace возвращает новую строку и оставляет исходную строку без изменений, поэтому используйте возвращаемое значение функции после вызова replace ().
Это не имеет ничего общего с jQuery. Вы можете использовать replace
функцию JavaScript для этого:
var str = "data-123";
str = str.replace("data-", "");
Вы также можете передать регулярное выражение в эту функцию. В следующем примере он заменит все, кроме чисел:
str = str.replace(/[^0-9\.]+/g, "");
0-9
было указано.
Вы можете использовать "data-123".replace('data-','');
, как уже упоминалось, но , как replace()
только заменяет ПЕРВОЕ экземпляр текста соответствия, если строка была что - то вроде "data-123data-"
то
"data-123data-".replace('data-','');
заменит только первый соответствующий текст. И ваш вывод будет"123data-"
Поэтому, если вы хотите, чтобы все совпадения текста были заменены на строку, вы должны использовать регулярное выражение с таким g
флагом:
"data-123data-".replace(/data-/g,'');
И ваш вывод будет "123"
Вы можете использовать функцию slice (), которая восстанавливает символы от начала до конца (включая конечную точку)
string.slice(start , end);
Вот несколько примеров, чтобы показать, как это работает:
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 для получения дополнительной информации и использования.
Пример: -
var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);
Надеюсь, это будет работать для вас.
Я привык к методу C # (Sharp) String.Remove. В Javascript нет функции удаления для строки, но есть функция substr. Вы можете использовать функцию substr один или два раза, чтобы удалить символы из строки. Вы можете сделать следующую функцию, чтобы удалить символы в начале индекса до конца строки, точно так же, как метод c # сначала перегружает String.Remove (int startIndex):
function Remove(str, startIndex) {
return str.substr(0, startIndex);
}
и / или вы также можете сделать следующую функцию, чтобы удалить символы при начальном индексе и числе, точно так же, как вторая перегрузка метода c # 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
Эта маленькая функция, которую я сделал, всегда работала для меня :)
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!!
Я знаю, что это не самое лучшее, но у меня всегда получалось :)
Использование match()
и Number()
для возврата number
переменной:
Number(("data-123").match(/\d+$/));
// strNum = 123
Вот что делает вышеприведенное утверждение ... работая посредине:
str.match(/\d+$/)
- возвращает массив, содержащий совпадения с любой длиной чисел в конце str
. В этом случае он возвращает массив, содержащий один строковый элемент ['123']
.Number()
- преобразует его в числовой тип. Поскольку массив, возвращаемый из .match()
содержит один элемент Number()
, вернет число.