Foros del Web » Programando para Internet » ASP Clásico »

Encontrar un caracter determinado dentro de array

Estas en el tema de Encontrar un caracter determinado dentro de array en el foro de ASP Clásico en Foros del Web. Hola a tod@s, q tal??? Tengo un problema y espero q me puedan ayudar, les cuento: Separe un string en palabras, y mediante un Split ...
  #1 (permalink)  
Antiguo 11/06/2004, 12:09
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 20 años, 9 meses
Puntos: 0
Encontrar un caracter determinado dentro de array

Hola a tod@s, q tal???
Tengo un problema y espero q me puedan ayudar, les cuento:
Separe un string en palabras, y mediante un Split lo mande a un vector (array), por lo q tengo un vector de trecientas y pico de palabras.
Mi duda es como hago para desplegar ese vector hasta que encuentre un caracter 46 (osea un punto).
Tendria q recorrer el array e irlo mostrando, pero a su vez chekeando q en cada uno de sus elementos no se encuentre dicho caracter.
Espero q puedan ayudarme, desde ya les agradezco su atencion.
Saludos

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #2 (permalink)  
Antiguo 11/06/2004, 12:22
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
No entendí bien qué es lo que necesitás hacer, pero con InStr() podés saber si un caracter, o una serie de ellos, está dentro de una cadena. Te dejo un ejemplo:

<%
cadena = "este mensaje se autodestruirá en 5.5 segundos."

cadena = split(cadena, " ")

for i = 0 to ubound(cadena)
if instr(cadena(i), ".") > 0 then
response.write "la palabra nro " & i + 1 & " tiene un punto<br>"
end if
next
%>
  #3 (permalink)  
Antiguo 11/06/2004, 13:23
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 20 años, 9 meses
Puntos: 0
Primero q nada, gracias.
Te explico cual es la idea del codigo.
Tengo q mostrar una noticia q esta almacenada en una db, pero solo quiero mostrar el primer parrafo, bueno, en realidad hasta el primer punto, para agregarle la opcion de leer la noticia entera en caso de q el usuario asi lo desee.
Por esto es q preciso encontrar ese caracter. Ahora, mi problema es cortar el bucle que despliega la noticia cuando encuentre un punto, por eso desparramo la noticia en un array y lo muestro uno por uno. Se me habia ocurrido aplicar un booleano q me indique cuando la condicion de encontrar el caracter 34 es cierta, para asi detener el loop.
Quizas algo asi:
Código:
<%
encontrar_char = "no"
i = 0
DO WHILE encontrar_char = "no"
    if NOT instr(array_texto(i), ".") > 0 then
        Response.Write(array_texto(i))
		Response.Write(" ")
        i = i + 1
    else
        Response.Write(array_texto(i)&" leer noticia completa")
        encontrar_char = "si"
    end if
LOOP
%>
El problema con esto es q doy por verdadero q la noticia siempre va a tener un punto, de hecho es logico, pero no es correcto dar nada por obvio, ya q en caso contrario, entraria en un loop eterno.
En fin, logre resolverlo, gracias dazuaga por tu ejemplo, me fue muy util
Un abrazo

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #4 (permalink)  
Antiguo 12/06/2004, 10:06
Avatar de LeCLUB  
Fecha de Ingreso: abril-2003
Ubicación: Barcelona (España)
Mensajes: 205
Antigüedad: 21 años, 1 mes
Puntos: 1
Ya te respondes a ti mismo, si una noticia no tiene "." entre párrafos, te cargará la noticia entera, y eso puede "desmontarte" tu web.

En este caso (el de mostrar breves descripciones de las noticias en una página principal) es recomentable utilizar LEFT(variable, n). Donde "variable" es el texto sobre el que quieres trabajar, y "n" el número de carácteres a mostrar.

Un ejemplo:

Código PHP:
<%
texto "La casa de la montaña es muy grande"
Response.write (Left(texto10)&" ...")
%> 
Esto mostraría: La casa de ...

Un Saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:09.