Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Extraer última palabra de una frase (https://www.clubdelphi.com/foros/showthread.php?t=60920)

Abuelo7 19-10-2008 10:34:06

Extraer última palabra de una frase
 
Hola a todos.

Quisiera saber como puedo extraer y guardar en una variable, la ultima palabra de cualquier frase introducida en un Edit.Text..
Sin que importe la longitud de la frase.

Gracias de antemano a todos.

Saludos
Manuel

marcoszorrilla 19-10-2008 10:56:27

Aunque habrá otras formas de momento he preparado este ejemplo:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
s:String;
l:Integer;
P:String;
begin
S:=Trim(Edit1.Text);
l:=Length(s);
While (l > 0) and (s[l] <> ' ')do
begin
l:=l-1;
end;
p:=copy(S,l,Length(s));
ShowMessage(p);
end;

Un Saludo.

Abuelo7 19-10-2008 11:19:57

Gracias amigo MarcosZorrilla.

Me has sido de gran ayuda.

Saludos.

coso 19-10-2008 18:13:41

Hola, tambien puedes usar strRscan

Código Delphi [-]
result := strRscan(PChar(s),' ') + 1;

EDITO : si no se encuentra ' ', entonces strRscan da nil por lo que result := nil + 1 y excepcion correspondiente. lo correcto seria hacer : if Pos(' ',s) then result := strRscan(PChar(s),' ') + 1 o bien comprobar de otra manera que strRscan no es nil. Saludos.

marcoszorrilla 19-10-2008 20:41:59

Muy buena idea, pero es necesario utilizar Trim por si tuviera espacios al final de la frase.
Código Delphi [-]
var
s:String;
begin
s:=edit1.text;
ShowMessage(strRscan(PChar(Trim(s)),' ') + 1);
end;

Un Saludo.


La franja horaria es GMT +2. Ahora son las 21:36:23.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi