Recorrer y Cortar String
Hola a todos, les comento, tengo el siguiente problema.
Cuento con una funcion split para cortar partes de una string Código:
function TForm1.CopyEntre(Cadena:string; Desde,Hasta:string):string; supongamos que quiero cortar la siguiente cadena cadena : string; cadena := '+hola-xxxxx+como-xxxxx+estas-'; usaria la funcion split para obtener "hola" trozo :string; trozo := CopyEntre(cadena,'+','-'); esto me daria "hola" pero como corto lo demas de la string para obtener hola como estas ?? Bueno gracias po su ayuda:) |
Hola octalh, yo utilizaria un StringList y sus propiedades Delimiter y DelimitedText, donde el separador entre palabras no sería el + y - sino talvez un vacio, pero el mismo separador para toda la cadena, le pasas la cadena a delimitedText el cual te lo separa en el StringList, despues solo sería recorrer tu StringList.
la otra forma utilizando pos y copy
Saluditos |
Muchas gracias funciona muy bien :D, pero queria preguntarte porque funciona unicamente cuando el separador es un solo simbolo, esque los datos que estoy filtrando son de un texto donde se encuentran los datos asi:
nombre('PEPE MARTINEZ')+nombre('LAURA GONZALES')+nombre('ENRIQUE ALMENDRO')+ etc etc... entonces el separador seria nombre(' y ')+ para obtener unicamente los nombres. como modificaria esta funcion para que el separador pueda tener mas de un simbolo? de antemano gracias por la ayuda. |
Hola de nuevo octalh, la propiedad Delimiter solo te acepta un caracter, no puedes añadir mas de un caracter, de la forma en que esta tu cadena, te conviene de la otra forma que te puse, aqui te dejo el codigo modificado sobre lo ultimo que me dijiste, los nombres que vas obteniendo también los puedes cargar a un StringList y luego lo recorres.
Saluditos |
Increible:eek: Mil gracias Caro!! mas claro no pudo estar, Un Saludo :D:D
|
como puedo hacer esto pero con una variable
hola caro mira que mi problema es un poco mas confuso, tengo una variable que me convierte una cantidad de numero a letras y tengo que contar las palabras para después partirla en dos e indentarla al centro para poder imprimirla en un ticket use tu ejemplo pero no se como ponerlo en practica en mi código ????
|
Por favor, crea un nuevo hilo con tu problema, y lee antes nuestra guía de estilo, gracias.
|
La franja horaria es GMT +2. Ahora son las 05:10:14. |
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