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

SEXO y REPLACE

Estas en el tema de SEXO y REPLACE en el foro de ASP Clásico en Foros del Web. tengo una duda... como puedo reemplazar una cadena de la siguiente manera utilizando replace???: cadena="No puedes negar que no te llamo la atencion..." y que ...
  #1 (permalink)  
Antiguo 04/03/2003, 15:26
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 5 meses
Puntos: 8
SEXO y REPLACE

tengo una duda...
como puedo reemplazar una cadena de la siguiente manera utilizando replace???:

cadena="No puedes negar que no te llamo la atencion..."
y que resulte asi...

No puedes negar que no te llamo la atencion...

Lo que hago es lo siguiente:

cadena="No puedes negar que no te llamo la atencion..."
response.write replace(cadena,buscar,"<b>"no"</b>")

pero en vez de mantenerme la mayuscula me la cambia por minuscula... :S

Saludos
  #2 (permalink)  
Antiguo 04/03/2003, 16:07
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 4 meses
Puntos: 5
Function Negritas(ElTexto,LaBusqueda)
Dim Expresion
Set Expresion= New RegExp
Expresion.Pattern = ("("&LaBusqueda&"[\.,:;]*)")
Expresion.IgnoreCase = True
Expresion.Global = True
Set Matches=Expresion.Execute(ElTexto)
For Each Match in Matches
ElResultado = Expresion.Replace (ElTexto, "<b>$1</b>")
Next
Negritas = ElResultado
End Function




Response.write Negritas(cadena,"no")
__________________
Manoloweb
  #3 (permalink)  
Antiguo 04/03/2003, 16:25
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 4 meses
Puntos: 5
Te paso esta pequeña actualizacion, ya que la anterior te marcaba en negrita incluso si se encontraba la coincidencia DENTRO de una palabra, por ejemplo novia... o bruno


Ahora si funciona correctamente:


<%
cadena="No puedes negar que no le llamo la atencion a bruno y a su novia..."


Function Negritas(ElTexto,LaBusqueda)
Dim Expresion
Set Expresion= New RegExp
Expresion.Pattern = ("([\s]?"&LaBusqueda&"[\.,:;]*[\s])")
Expresion.IgnoreCase = True
Expresion.Global = True
Set Matches=Expresion.Execute(ElTexto)
For Each Match in Matches
ElResultado = Expresion.Replace (ElTexto, "<b>$1</b>")
Next
Negritas = ElResultado
End Function


Response.write Negritas(cadena,"no")

%>
__________________
Manoloweb

Última edición por Manoloweb; 04/03/2003 a las 16:27
  #4 (permalink)  
Antiguo 05/03/2003, 08:55
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 4 meses
Puntos: 5
Por cierto, este tipo de funciones se llama "Expresiones Regulares" o Regular Expressions.

Saludos
__________________
Manoloweb
  #5 (permalink)  
Antiguo 05/03/2003, 10:28
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 5 meses
Puntos: 8
hey! muchas gracias!!
sabes, aun me queda una pequeña duda...
definitivamente con REPLACE no se puede hacer???
(pregunto solo por preguntar )

Última edición por pcarvajal; 05/03/2003 a las 10:32
  #6 (permalink)  
Antiguo 05/03/2003, 12:50
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 4 meses
Puntos: 5
Creo que si, solo debes "jugar" un poco con la sintaxis del "Replace", creo que si pones el argumento "compare" a 0 te convierte la busqueda en binaria, y solo te reemplazará lo que coincida EXACTAMENTE...

Cita:
'A binary comparison starting at the beginning of the string. Returns "XXYXXPXXY".
MyString = Replace("XXpXXPXXp", "p", "Y",1,-1,0)
Aunque sería mas complicado, ya que deberías hacer lo mismo para toda la cantidad de veriantes de tu string...

__________________
Manoloweb
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 23:52.