Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Fernandes dos Santos

Excluir ultima palavra de uma String

Recommended Posts

Alguêm teria alguma função que retire a ultima palavra de uma string?

 

Ex: MOLA DIANTEIRA MONZA 9 SUPERIOR

 

Quero que fique: MOLA DIANTEIRA MONZA 9

 

ou seja retirar a ultima palavra da string.

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem que ser algo com o CHARINDEX(); SUBSTRING(); e REPLACE();

 

Estou sem ambiente para testar e tentar montar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A.jr e Motta obrigado pelas respostas, foram através delas que segui o caminho correto para a solução do problema

 

 

Segue abaixo a Solução:

 


--DECLARO UMA VARIÁVEL QUE VAI RECEBER A FRASE QUE QUEREMOS TIRAR A ULTIMA PALAVRA
DECLARE @FRASE VARCHAR(MAX) 
--ATRIBUO A ELA UMA FRASE
SET @FRASE =  'MOLA DIANTEIRA MONZA 9 SUPERIOR'

--INVERTO A FRASE PARA PODER CONTAR QUANTAS POSIÇÕES DEVO TIRAR NO REPLACE
DECLARE @FRASE_INVERTIDA VARCHAR(MAX)
SET @FRASE_INVERTIDA = (SELECT REVERSE(@FRASE ))

--DECLARO UMA VARIÁVEL PARA RECEBER A QUANTIDADE DE POSIÇÕES
--USO A FUNÇÃO CHARINDEX PARA PODER ACHAR O PRIMEIRO ESPAÇO E ME DAR A QUANTIDADE
--DA ULTIMA PALAVRA
DECLARE @CONTADOR_CARACTER INT
SET @CONTADOR_CARACTER =(select CHARINDEX(' ',@FRASE_INVERTIDA))


--DECLARO UMA VARIÁVEL PARA RECEBER A ULTIMA PALAVRA INVERTIDA E
--JA INVERTO ELA NOVAMENTE PARA ME RETORNAR A PALAVRA QUE QUERO TIRAR
DECLARE @ULTIMA_PALAVRA VARCHAR(300)
SET @ULTIMA_PALAVRA = (SELECT REVERSE( SUBSTRING(@FRASE_INVERTIDA,1,@contador_caracter ) ))


--FINALMENTE DOU UM REPLACE PARA RETIRAR A PALAVRA DA FRASE
SELECT REPLACE( @FRASE, @ULTIMA_PALAVRA, '')

 

OBS: No meu caso essa palavra nunca vai se repetir na mesma frase, por isso essa função

que fiz atendeu minha necessidade, mais se seu caso a palavra repetir na mesma frase

Tente outra coisa..

 

 

Att,

 

João Fernandes dos Santos

Compartilhar este post


Link para o post
Compartilhar em outros sites
$string = "MOLA DIANTEIRA MONZA 9 SUPERIOR";
$explo  = explode(" ", $string);
$uindex = end(array_keys($explo));
unset($explo[$uindex]);
$string = implode(" ", $explo);
echo $string;
// Saída = "MOLA DIANTEIRA MONZA 9";

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.