Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Capturar Texto de un String luego de un espacio (https://www.clubdelphi.com/foros/showthread.php?t=74515)

kirios 23-06-2011 18:02:17

Capturar Texto de un String luego de un espacio
 
Hola, tengo un arreglo de strings, que tienen dos palabras separadas por un espacio, y quiero capturar la segunda. Podran orientarme? graciaas

roman 23-06-2011 18:12:15

Usa la función Pos para encontrar la posición del espacio, y luego la función Copy para copiar la parte de la cadena a partir del espacio.

// Saludos

Chris 23-06-2011 18:14:44

Para resolver tu problema se necesitan del uso de dos funciones: Copy y Pos. Mira este ejemplo:
Código Delphi [-]
segunda_palabra := Trim(Copy(TextoCompleto, Pos(' ', TextoCompleto), Length(TextoCompleto)));

Uso la función Trim para quitar cualquier espacio que pueda existir de más.

Por último, no me queda claro a que te refieres con el Arreglo de Strings.

Saludos,
Chris

kirios 23-06-2011 18:15:05

claaro, pensaba en eso, pero no se cuantos espacios tengo en el string. con la funcion length puedo sacar la longitud de todo la cadena... podria de alguna forma restarle la posicion del espacio a la longitud total y saber cuantos caracteres quedan? :P graciaas

kirios 23-06-2011 18:16:16

aah, buenisimo, graciaaas

kirios 23-06-2011 18:17:28

Arreglo de strings: array[1..N] of strings;

ecfisa 23-06-2011 18:18:11

Hola.

Cita:

Hola, tengo un arreglo de strings, que tienen dos palabras separadas por un espacio, y quiero capturar la segunda
Código Delphi [-]
var
  i: Integer;
begin
  for i:= 1 to 10 do
    ListBox1.Items.Add(Copy(VStr[i],Pos(' ', VStr[i])+1, MaxInt));
  ...
end;

Saludos.

ecfisa 23-06-2011 18:20:50

Cita:

Empezado por kirios (Mensaje 404620)
claaro, pensaba en eso, pero no se cuantos espacios tengo en el string. con la funcion length puedo sacar la longitud de todo la cadena... podria de alguna forma restarle la posicion del espacio a la longitud total y saber cuantos caracteres quedan? :P graciaas

¿ Puede haber espacios antes del que separa ambas palabras ?

Saludos.

Chris 23-06-2011 18:24:11

Cita:

Empezado por kirios (Mensaje 404622)
Arreglo de strings: array[1..N] of strings;

:p Obvio! entiendo lo que es Arreglo de Strings: Lo que no entendía, que papel jugaba mencionar esto en tu pregunta. Pero bueno, espero que hallas solucionado tu problema.

Saludos,
Chris

ecfisa 23-06-2011 18:25:48

Cita:

Empezado por ecfisa (Mensaje 404624)
¿ Puede haber espacios antes del que separa ambas palabras ?
Saludos.

Me contesto solo :p:)

Código Delphi [-]
var
  i: Integer;
  s: string;
begin
  for i:= 1 to 10 do
  begin
    s:= TrimLeft(VStr[i]);
    ListBox1.Items.Add(Copy(s, Pos(' ',s)+1, MaxInt));
  end;
end;

Saludos.

kirios 23-06-2011 18:29:30

[quote=ecfisa;404624]¿ Puede haber espacios antes del que separa ambas palabras ?

Saludos.[/QUOTE

no, hay un solo espacio

ecfisa 23-06-2011 18:40:35

De esta manera quitas los posibles espacios que estén antes de la primera palabra y despues de la segunda
Código Delphi [-]
 for i:= 1 to n do
  begin
    s:= Trim(VStr[i]);
    ListBox1.Items.Add(Copy(s, Pos(' ',s)+1, MaxInt));
  end;

Saludos.

kirios 23-06-2011 18:49:14

me podras pasar bien el codigo? la funcion copy no la habia usado antes... sirve aun sin saber cuantos elementos quedan en el string despues del espacio?
graciaaas

ecfisa 23-06-2011 19:06:57

Cita:

Empezado por kirios (Mensaje 404632)
me podras pasar bien el codigo? la funcion copy no la habia usado antes... sirve aun sin saber cuantos elementos quedan en el string despues del espacio?
graciaaas

Hola.

El uso de la función Copy está explicado en la ayuda de delphi.
Aqui también vas a encontrar ayuda y ejemplos: Copy.
Aqui sobre la constante: MaxInt.

Saludos.

kirios 23-06-2011 19:35:34

ah buenisimo! graciaas!!


La franja horaria es GMT +2. Ahora son las 13:50:34.

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