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

"Trocear" strings demasiado largos

Estas en el tema de "Trocear" strings demasiado largos en el foro de ASP Clásico en Foros del Web. Hola gente, Necesito una función que me revise si en una variable hay un string demasiado largo y, en ese caso, que lo corte en ...
  #1 (permalink)  
Antiguo 16/08/2005, 07:45
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 20 años, 4 meses
Puntos: 1
"Trocear" strings demasiado largos

Hola gente,
Necesito una función que me revise si en una variable hay un string demasiado largo y, en ese caso, que lo corte en 2 o mas (separandolo con espacios);

Ejemplo:
var="Que chiste mas bueno! Buaaahahahahahahahahahaha!!!!"

Resultado:

var="Que chiste mas bueno! Buaaahahaha hahahahaha haha!!!!"

Graciasss!!!
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"
  #2 (permalink)  
Antiguo 16/08/2005, 08:23
 
Fecha de Ingreso: septiembre-2004
Mensajes: 179
Antigüedad: 19 años, 8 meses
Puntos: 0
Buenas,

pues así de repente se me ocurre que podrías tomar la cadena, ir recorriéndola buscando la posición de los espacios (con InStr) e ir mirando la distancia entre espacios consecutivos. Si es más de la que quieres, le cascas un espacio y arreglado.
__________________
Estoy en www.aibarra.net

Camino para preguntar: manual -> Google -> FAQs y buscador del foro -> Nuevo Tema.
Tan difícil es escribir correctamente? Es más fácil leerlo. Pónselo fácil al que quiera ayudarte.
  #3 (permalink)  
Antiguo 16/08/2005, 08:57
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
se ha traado muchas veces este tema... busca en el foro seguro que esta la respuesta a lo que buscas... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #4 (permalink)  
Antiguo 16/08/2005, 10:06
Avatar de macedo  
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 124
Antigüedad: 22 años, 4 meses
Puntos: 0
A ver si te vale esto:

Saludos

Maximo=Longitud máxima de una "palabra" en el String
ArrVar=Split(var," ")
For i=0 to ubound(ArrVar)
if Len(ArrVar(i))>Maximo then
var2=""
for i2=0 to Int(Len(Arrvar(i))/Maximo)-1
var2=Var2&" "&Mid(ArrVar(i),i2*Maximo+1,Maximo)
next
var2=var2&" "&right(ArrVar(i),Len(ArrVar(i))-Int(Len(Arrvar(i))/Maximo)*Maximo)
ArrVar(i)=var2
end if
next
var=join(ArrVar)
  #5 (permalink)  
Antiguo 17/08/2005, 21:02
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 5 meses
Puntos: 4
hola prueba con esta que es la que yo uso, no recuerdo muy bien quien la hizo,
function cortarcadena(Cadena)
Dim Largo, Separador, arrCadena, i
Dim Veces, j, Tmp, Tmp2
Largo = 30
Separador = " "
arrCadena = Split(Cadena, " ")
For i = 0 to UBound(arrCadena)
If Len(arrCadena(i)) > Largo Then
Veces = (Len(arrCadena(i)) \ Largo) + 1
For j = 1 To Veces
Tmp = Mid(arrCadena(i),(j*Largo) - (Largo - 1), Largo)
Tmp2 = Tmp2 & Tmp & Separador
Next
Tmp2 = Left(Tmp2, Len(Tmp2) - Len(Separador))
arrCadena(i) = Tmp2
End if
Next
cortarcadena = Join(arrCadena)
end function

se usa asi


variable = cortarcadena(variable)
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #6 (permalink)  
Antiguo 18/08/2005, 03:39
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 20 años, 4 meses
Puntos: 1
Ok, la función de Macedo de todas formas es perfecta.
Gracias!!!
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"
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 23:36.