Eu tenho uma data-123
corda.
Como posso remover data-
da string enquanto deixo o 123
?
Eu tenho uma data-123
corda.
Como posso remover data-
da string enquanto deixo o 123
?
Respostas:
var ret = "data-123".replace('data-','');
console.log(ret); //prints: 123
Para que todas as ocorrências sejam descartadas, use:
var ret = "data-123".replace(/data-/g,'');
PS: A função replace retorna uma nova string e deixa a string original inalterada; portanto, use o valor de retorno da função após a chamada replace ().
Isso não tem nada a ver com jQuery. Você pode usar a replace
função JavaScript para isso:
var str = "data-123";
str = str.replace("data-", "");
Você também pode passar um regex para esta função. No exemplo a seguir, ele substituiria tudo, exceto numérico:
str = str.replace(/[^0-9\.]+/g, "");
0-9
foi indicado.
Você pode usar "data-123".replace('data-','');
, como mencionado, mas como replace()
só substitui o PRIMEIRO instância do texto correspondente, se sua seqüência foi algo como "data-123data-"
, em seguida,
"data-123data-".replace('data-','');
substituirá apenas o primeiro texto correspondente. E sua saída será"123data-"
Portanto, se você deseja que todas as correspondências de texto sejam substituídas em string, use uma expressão regular com a g
flag assim:
"data-123data-".replace(/data-/g,'');
E sua saída será "123"
você pode usar a fatia () que returenta os caracteres entre o início e o fim (incluído o ponto final)
string.slice(start , end);
aqui está um exmp para mostrar como funciona:
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 antigo simples será suficiente - o jQuery não é necessário para uma tarefa tão simples:
var myString = "data-123";
var myNewString = myString.replace("data-", "");
Consulte: .replace()
documentos no MDN para obter informações e uso adicionais.
Ex:-
var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);
Espero que isso funcione para você.
Eu estava acostumado com o método String.Remove em C # (Sharp). Em Javascript, não há função de remoção para string, mas existe a função substr. Você pode usar a função substr uma ou duas vezes para remover caracteres da string. Você pode criar a seguinte função para remover caracteres no índice inicial até o final da sequência, assim como o método c # sobrecarrega primeiro a String.Remove (int startIndex):
function Remove(str, startIndex) {
return str.substr(0, startIndex);
}
e / ou você também pode criar a seguinte função para remover caracteres no índice inicial e na contagem, assim como a segunda sobrecarga do método c # String.Remove (int startIndex, int count):
function Remove(str, startIndex, count) {
return str.substr(0, startIndex) + str.substr(startIndex + count);
}
e então você pode usar essas duas funções ou uma delas para suas necessidades!
Exemplo:
alert(Remove("data-123", 0, 5));
Saída: 123
Essa pequena função que fiz sempre funcionou para mim :)
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!!
Eu sei que não é o melhor, mas sempre funcionou para mim :)
Usando match()
e Number()
para retornar uma number
variável:
Number(("data-123").match(/\d+$/));
// strNum = 123
Aqui está o que a afirmação acima faz ... trabalhando de maneira intermediária:
str.match(/\d+$/)
- retorna uma matriz contendo correspondências para qualquer tamanho de número no final de str
. Nesse caso, ele retorna uma matriz que contém um único item de sequência['123']
.Number()
- converte para um tipo de número. Como a matriz retornada .match()
contém um único elemento Number()
, o número retornará.