Como excluir o último caractere de uma string usando o jQuery?

181

Como excluir o último caractere de uma string, por exemplo, 123-4-quando eu a excluo, 4ela deve ser exibida 123-usando o jQuery .

wiki
fonte
30
Você está excluindo os dois últimos caracteres então.
Skilldrick

Respostas:

459

Você também pode tentar isso em javascript simples

"1234".slice(0,-1)

o segundo parâmetro negativo é um deslocamento do último caractere, então você pode usar -2 para remover os últimos 2 caracteres, etc.

skajfes
fonte
15
estamos (pelo menos eu sou), utilizando tanto jQuery hoje em dia, às vezes eu esqueço como fazer em javascript simples = X
Michel Ayres
2
Para esclarecer as coisas (como este post pode ser útil principalmente para iniciantes): .slice () retornará o resultado. Portanto, deve-se usar: var result = "1234" .slice (0, -1);
MMB 24/07
38

Por que usar o jQuery para isso?

str = "123-4"; 
alert(str.substring(0,str.length - 1));

Obviamente, se você deve:

Substr w / jQuery:

//example test element
 $(document.createElement('div'))
    .addClass('test')
    .text('123-4')
    .appendTo('body');

//using substring with the jQuery function html
alert($('.test').html().substring(0,$('.test').html().length - 1));
Jason Benson
fonte
str.substring (0, str.count () - 1)
GolezTrol
2
@GolezTrol: str.count () não é uma função. str.length número de retorno de caracteres na string
skajfes
@ Skajfes BTW este é um exemplo melhor que eu vou editar o meu acima para comprimento uso
Jason Benson
Bom exemplo com jQuery. Obrigado por postar Jason. Best
OV Web Solutions
9

@skajfes e @GolezTrol forneceram os melhores métodos para usar. Pessoalmente, prefiro usar "slice ()". É menos código e você não precisa saber quanto tempo uma string é. Apenas use:

//-----------------------------------------
// @param begin  Required. The index where 
//               to begin the extraction. 
//               1st character is at index 0
//
// @param end    Optional. Where to end the
//               extraction. If omitted, 
//               slice() selects all 
//               characters from the begin 
//               position to the end of 
//               the string.
var str = '123-4';
alert(str.slice(0, -1));
OV Web Solutions
fonte
Eu prefiro me substring. A fatia para mim é muito próxima da fatia da matriz #
Jason Benson
5

Você pode fazer isso com JavaScript simples:

alert('123-4-'.substr(0, 4)); // outputs "123-"

Isso retorna os quatro primeiros caracteres da sua sequência (ajuste 4para atender às suas necessidades).

jwueller
fonte
3
A solução de fatia (0, -1) é melhor porque você não precisa saber o comprimento da string com antecedência.
Dan Dascalescu 13/09/16