Pegar ultima palavra de um fraze javascript

4 respostas
surfzera

Pessoal como faço para pegar a ultima palavra de um frase com javascript.

exemplo: “Java é um linguagem excelente”

quero que retorne: excelente

4 Respostas

nel

surfzera:
Pessoal como faço para pegar a ultima palavra de um frase com javascript.

exemplo: “Java é um linguagem excelente”

quero que retorne: excelente

‘fraze’ no título ficou meio estranho.
Sobre sua dúvida, use o método split() em Javascript, da mesma forma que faria em Java.
Basta pegar a última posição do Array que saberá.

Abraços.

Vingdel

Bom dia, sufzera!

Segue uma sugestão, sem usar regex. Não conheço bem Javascript, mas creio que pode ser facilmente convertido para ele.
String s = "Delano Lima de Carvalho foi a Sólida tirar fotos.";
	int tam = s.length();
	int lastSpaceIndex = 0;
	for(int i = 0; i < tam; i++){

		if((""+s.charAt(i)).equals(" ")){
			lastSpaceIndex = i;
		}
	}
	System.out.println(s.substring(lastSpaceIndex+1));
Saída: fotos.
Lembro que ainda é necessário fazer mais verificações, como é o caso da pontuação após a palavra (nesse caso deixei o ponto final de propósito), mas com os recursos acima é possível fazer essa verificação.

Abraço!

fbahia32

Usa o método “split()” como o nel falou, separando as palavras da frase por “espaço”. Acho mais simples.

exemplo:

frase.split(" ").

Ai, o resultado acima vc guarda em um array e pega a ultima posição.

ribclauport

Bom com relação a pontuação fica por sua conta.
O código abaixo faz o que vc quer.

<html>
<head>
	<script type="text/javascript">
	function pegaPalavra(){
		var frase = document.getElementById("idFrase").value;
		var palavras = frase.split(" ");
		tamanho = palavras.length;
		alert(palavras[tamanho-1]);
	}

	</script>
</head>
<body>
	<form>
		<input type="text" id="idFrase" size="100" value="uma frase com várias palavras" />
		<input type="button" value="mostra palavra" onclick="pegaPalavra();" />
	</form>
	<body>
<html>
Criado 19 de janeiro de 2012
Ultima resposta 19 de jan. de 2012
Respostas 4
Participantes 5