separar una cadena 5263-526-30 que me quede 30
necesito separar una cadena
ej: 5263-526-30 que me quede 30 alguien q me pueda ayudar en una funcion o algo asi. que me quede la cadena despues del ultimo separador - |
Hola...
Hay varias formas, una es que recorras la cadena de forma invertida y te detengas al encontrar el primer '-':
Saludos... |
Otras alternativas
Si se trata de copiar o extraer los dos ultimos caracteres de la cadena, pues se puede hacer:
o tambien Ojo: Para que te funcione lo anterior no debe haber ningun espacio al final de la cadena.;). Saludos...:) |
no, pueden haber mas numero despues del separador
y tambien hay muchos separadores. |
Bueno en ese caso puedes hacerlo tal como te ha indicado Maeyanes o bien así:
O tambien Saludos...;) |
|
Cita:
Cuando ví el post se me ocurrió una solución parecida a la de maeyanes pero usando while, y conocía también el uso de LastDelimiter propuesto rgstuamigo, por eso no agregué código similar. Pero esta solución usando TStrings, por lo menos para mí, es novedosa. Gracias por el aporte. Saludos. |
20130-8563-675
1. obtengo 675 , correcto. 2. pero quiero tambien la cadena 20130-8563 ?? como lo hago. |
Hola.
Con la solución de ContraVeneno, es sencillísimo.
Entonces tenés: '20130' en ts[0], '8563'en ts[1] y '675' en ts[2]. Saludos. |
Hola de nuevo.
Como para abrir el abanico, esta es otra solución Pero es mucho mejor la solución de ContraVeneno, por que del otro modo ya tenés que usar dos funciones: una para obtener el primero y otra para obtener el último... Y si mañana se te presenta tener que obtener el tercer grupo de : '13412-707-1307-00893-32', vas a tener que usar una tercera... o cuarta. Usando la solución con TStringList, podés obtener cualquier grupo de dígitos con sólo especificar el string y el delimitador y luego concatenás lo que quieras. Para este caso:
Saludos. |
listo, para obener los primeros numero de la cadena
cadena= '852-652-30' p:=LastDelimiter('-',Cadena); Cadena_Separada:=Copy(Cadena,1,p-1); resp: 852-652 ya obtube las dos cosas q necesitaba gracias. |
Me alegro que lo hayas resuelto.
Saludos. |
La franja horaria es GMT +2. Ahora son las 11:15:33. |
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