Javascript como remover texto de uma string

Eu tenho uma string que tem data-123 como seu valor. Como no jQuery ou Javascript eu iria entrar e remover os data- da string, deixando o 123 ?

Não é necessário jQuery.

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

Docs


Para todas as ocorrências a serem descartadas, use:

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

PS: A function replace retorna uma nova string e deixa a string original inalterada, então use o valor de retorno da function após a chamada replace ().

Isso não tem nada a ver com o jQuery. Você pode usar a function de replace do JavaScript para isso:

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

Você também pode passar um regex para esta function. No exemplo a seguir, ele replaceia tudo, exceto os numerais:

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

Você pode usar "data-123".replace('data-',''); , como mencionado, mas como replace() somente substitui a PRIMEIRA instância do texto correspondente, se sua string era algo como "data-123data-"

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

só replaceá o primeiro texto correspondente. E sua saída será "123data-"

DEMO

Então, se você quiser que todas as correspondências de texto sejam substituídas em string, você tem que usar uma expressão regular com a flag g assim:

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

E sua saída será "123"

DEMO2

você pode usar o slice () que returens charcters entre o início ao fim (ponto final incluído)

  string.slice(start , end); 

aqui está algum 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" 

Demonstração

O velho JavaScript 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() docs no MDN para obter informações adicionais e uso.

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 C # (Sharp) String.Remove. Em Javascript, não há function remove para string, mas há function substr. Você pode usar a function substr uma ou duas vezes para remover caracteres da string. Você pode fazer a seguinte function para remover caracteres no índice inicial para o final da string, assim como o método c # sobrecarga primeiro String.Remove (int startIndex):

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

e / ou você também pode fazer a seguinte function para remover caracteres no índice inicial e contar, 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 estas duas funções ou uma delas para as suas necessidades!

Exemplo:

 alert(Remove("data-123", 0, 5)); 

Produção: 123

Usando match() e Number() para retornar uma variável number :

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

Aqui está o que a afirmação acima faz … trabalhando no meio do caminho:

  1. str.match(/\d+$/) – retorna uma matriz contendo correspondências para qualquer tamanho de número no final de str . Neste caso, ele retorna um array contendo um único item de string ['123'] .
  2. Number() – converte para um tipo de número. Como a matriz retornada de .match() contém um único elemento, Number() retornará o número.

Essa pequena function que eu 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 🙂

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

Isso replaceá todas as ocorrências dessa string específica da string original.