Hola
marko249:
A ver si esto te sirve y da el resultado que quieres. Yo lo he probado y en principio va bien.
De primeras, lo que he hecho es estructurar de otra manera algo mejor la cadena a dividir, es decir:
Tu cadena era así:
Código:
AB : 978794 Checkpoint : S DetailPickup Date : 04/05/2006Pick Time : 20:21G Offset (PU) : 08Pick Ro : WA
Yo la he definido de esta forma:
Código:
AB : 978794#Checkpoint : S Detail#Pickup Date : 04/05/2006#Pick Time : 20:21#G Offset (PU) : 08#Pick Ro : WA
Si te fijas, he añadido un carácter
# que hará de separador entre las partes. Luego, para dividir estas partes, a través de este separador (puede ser este carácter ó el que quieras, ó un espacio en blanco,...), se usará el método
Split().
No sé en qué lenguaje estás programando. Yo lo he hecho en C# con ASP.NET 2.0 .
Bueno ahí va la cosa:
- en la parte de código del archivo (si es en C# en el .cs // si es en VB en el .vb)
Código:
...
string el_String = "";//DEFINIDA AL PRINCIPIO DEL ARCHIVO ACCESIBLE PARA TODAS LAS FUNCIONES
protected void Page_Load(object sender, EventArgs e)
{
}
protected void obtenerString()
{
//AQUÍ, OBTENIENDO EL STRING BIEN POR CONSULTA SQL Ó COMO SEA
//...
el_String = "AB : 978794#Checkpoint : S Detail#Pickup Date : 04/05/2006#Pick Time : 20:21#G Offset (PU) : 08#Pick Ro : WA";
}
protected string presentarString()
{
//LLAMANDO PARA OBTENER EL STRING
obtenerString();
//ARRAY QUE CONTENDRÁ CADA UNA DE LAS
//PARTES DESEADAS DEL STRING PASADO
string[] las_Partes;
//SI SON SIEMPRE 7 PARTES
//SE DEFINE EL ARRAY CON ESTA LONGITUD
las_Partes = new string[7];
//PARA DIVIDIR EL STRING, SE USA EL MÉTODO Split()
//QUE NECESITA UN SEPARADOR, POR EJEMPLO, EL CARÁCTER #
//PUEDE SER OTRO Ó INCLUSO UN ESPACIO
//ENTONCES, SE DEFINE EL CARÁCTER SEPARADOR DESEADO
char[] separador = { '#' };
//AHORA SE EJECUTA LA DIVISIÓN Y SE INSERTA
//CADA PARTE EN CADA LUGAR DEL ARRAY
las_Partes = el_String.Split(separador);
//POR ÚLTIMO, RECORRIENDO EL ARRAY
//SE PRESENTARÁN LOS ELEMENTOS
//TAL Y COMO SE QUIERA
string el_String_Final = "";
for (int x = 0; x < las_Partes.Length; x++)
{
el_String_Final += "<br />" + las_Partes[x];
}
return el_String_Final;
}
...
Luego, para mostrar todo por pantalla, solamente hay que llamar a que se escriba el resultado de la función necesaria, desde la parte de diseño .aspx:
Código HTML:
<%= presentarString()%>
Tal y como está, por pantalla, el string inicial que es
Código:
AB : 978794#Checkpoint : S Detail#Pickup Date : 04/05/2006#Pick Time : 20:21#G Offset (PU) : 08#Pick Ro : WA
tendría que salirte así:
Código:
AB : 978794
Checkpoint : S Detail
Pickup Date : 04/05/2006
Pick Time : 20:21
G Offset (PU) : 08
Pick Ro : WA
Si quieres dar un último toque y que los ":" se junten al texto de cada línea, entonces reemplaza esta línea
Código:
el_String_Final += "<br />" + las_Partes[x];
por esta otra
Código:
el_String_Final += "<br />" + las_Partes[x].Replace(" : ", ": ");
Ahora, por pantalla, te quedará finalmente así:
Código:
AB: 978794
Checkpoint: S Detail
Pickup Date: 04/05/2006
Pick Time: 20:21
G Offset (PU): 08
Pick Ro: WA
Espero que con todo esto, te solucione la papeleta.
Agur...