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

replace que no funciona :(

Estas en el tema de replace que no funciona :( en el foro de ASP Clásico en Foros del Web. hola, estoy intentando quitar las tildes y caracteres especiales en de un texto pero no me deja este código no funciona: Código: auxiliar=replace(auxiliar,"á","a") auxiliar=replace(auxiliar,"Á","A") sin ...
  #1 (permalink)  
Antiguo 28/03/2008, 11:41
 
Fecha de Ingreso: marzo-2005
Mensajes: 271
Antigüedad: 19 años, 2 meses
Puntos: 1
replace que no funciona :(

hola, estoy intentando quitar las tildes y caracteres especiales en de un texto pero no me deja


este código no funciona:

Código:
		auxiliar=replace(auxiliar,"á","a")
		auxiliar=replace(auxiliar,"Á","A")

sin embargo este otro si funciona:

Código:
auxiliar=replace(auxiliar,"a","xxxxxxxx")

¿Sucede algún caso especial con las tildes?

gracias
  #2 (permalink)  
Antiguo 28/03/2008, 12:11
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
Re: replace que no funciona :(

Cita:
¿Sucede algún caso especial con las tildes?
No, debería funcionar... salvo que lo que tengas como á no séa realmente á sino, por ejemplo, á

O tal vez... ¿que sea un problema de codificación?
__________________
...___...
  #3 (permalink)  
Antiguo 28/03/2008, 12:24
 
Fecha de Ingreso: marzo-2005
Mensajes: 271
Antigüedad: 19 años, 2 meses
Puntos: 1
Re: replace que no funciona :(

el texto está en una abse de datos y seguro que pone "á" qué tipo de problema por codificación te refieres?
  #4 (permalink)  
Antiguo 28/03/2008, 21:38
Avatar de i_e_s27  
Fecha de Ingreso: marzo-2008
Ubicación: En mi casa
Mensajes: 208
Antigüedad: 16 años, 2 meses
Puntos: 5
Re: replace que no funciona :(

Al Zuwaga tiene razón... prueba utilizar el Nombre HTML en vez de el caracter en si:

Lo que no estoy seguro es si va entre comillas o no... prueba tu mismo:

Código:
auxiliar=replace(auxiliar,"á","a")
auxiliar=replace(auxiliar,"Á","A")
Código:
auxiliar=replace(auxiliar,á,"a")
auxiliar=replace(auxiliar,Á,"A")
Aca te dejo una pagina donde salen todos los caracteres con su "Nombre en HTML" que es el que debes usar.

http://ascii.cl/es/codigos-html.htm

En esa pagina tambien estan los codigos ASCCI por si alguna vez los necesitas
  #5 (permalink)  
Antiguo 28/03/2008, 21:53
Avatar de i_e_s27  
Fecha de Ingreso: marzo-2008
Ubicación: En mi casa
Mensajes: 208
Antigüedad: 16 años, 2 meses
Puntos: 5
Re: replace que no funciona :(

Aunque son un monton de caracteres especiales...

Quizas te convenga hacer un bucle, algo asi:

Código:
'Guardas todos los caracteres especiales en un array:

ArrayCaracteresEspeciales = Array1 = Split ("Áá,ETC SEPARADO POR COMAS", ",", -1, 1)

'Guardas los caracteres con el que quieras que se reemplace. Ojo que tienen que tener el mismo orden! Si hay algun caracter que no tiene reemplazo pon ,, (dos comas seguidas) para eliminar el caracter especial.

ArrayCaracteresReemplazo = Array1 = Split ("A,a,ETC SEPARADO POR COMAS", ",", -1, 1)

'Al hacer el split no estoy seguro si tienes que utilizar vbTextCompare (el ultimo 1) o vbBinaryCompare (reemplazar el ultimo 1 por un 0)

'Hacer el bucle que te saca los caracteres que cargaste en el array:

For i = 0 to uBound(ArrayCaracteresEspeciales )
     auxiliar=replace(auxiliar,ArrayCaracteresEspeciales(i), ArrayCaracteresReemplazo(i))
Next
Quizas haya algo mas simple o me este equivocando... que me corrijan si es asi
  #6 (permalink)  
Antiguo 29/03/2008, 04:37
 
Fecha de Ingreso: marzo-2005
Mensajes: 271
Antigüedad: 19 años, 2 meses
Puntos: 1
Re: replace que no funciona :(

me ignora por completo

Código:
    
auxiliar=replace(auxiliar,"á","bbbbbbbbbbb;")
auxiliar=replace(auxiliar,"Á","Á")
auxiliar=replace(auxiliar,"á","a")
no hacen nada estas líneas

uso esto:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
  #7 (permalink)  
Antiguo 30/03/2008, 06:05
Avatar de i_e_s27  
Fecha de Ingreso: marzo-2008
Ubicación: En mi casa
Mensajes: 208
Antigüedad: 16 años, 2 meses
Puntos: 5
De acuerdo Re: replace que no funciona :(

Aca te dejo el codigo probado y andando.

Código:
<%
auxiliar = "Ajá, mi papá se subio al camión. AÁ EÉ IÍ OÓ UÚ aá eé ií oó uú ®® ññ"

Response.Write(auxiliar)

Response.Write("<br />") 'Salto de linea

'Guardas todos los caracteres especiales en un array:

ArrayCaracteresEspeciales = Split ("á,é,í,ó,ú,Á,É,Í,Ó,Ú,®,ñ", ",", -1, 1)

'Guardas los caracteres con el que quieras que se reemplace. Ojo que tienen que tener el mismo orden! Se corresponden. Si hay algun caracter que no sabes por cual reemplazarlo simplemente lo "eliminas" dejando el espacio vario entre las comas

ArrayCaracteresReemplazo = Split ("a,e,i,o,u,A,E,I,O,U,,n", ",", -1, 1)

For i = 0 to uBound(ArrayCaracteresEspeciales )
     auxiliar=replace(auxiliar,ArrayCaracteresEspeciales(i), ArrayCaracteresReemplazo(i),1,-1,1)
Next
Response.Write(auxiliar)
%>
Por cierto, yo uso <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> y me tira esto:

Ajá, mi papá se subio al camión. AÁ EÉ IÍ OÓ UÚ aá eé ií oó uú ®® ññ
Aja, mi papa se subio al camion. Aa Ee Ii Oo Uu aa ee ii oo uu nn

Pero si uso <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> me tira esto:

Ajá, mi papá se subio al camión. AÁ EÉ IÍ OÓ UÚ aá eé ií oó uú ®® ññ
Aja, mi papa se subio al camion. AA EE II OO UU aa ee ii oo uu nn

Queda a tu criterio.
  #8 (permalink)  
Antiguo 30/03/2008, 07:00
Avatar de i_e_s27  
Fecha de Ingreso: marzo-2008
Ubicación: En mi casa
Mensajes: 208
Antigüedad: 16 años, 2 meses
Puntos: 5
De acuerdo Re: replace que no funciona :(

Estaba leyendo la Biblioteca de Clases,Funciones y Sub-rutinas aca en el foro, y encontre esta funcion, y me acorde de ti.

Código:
Function SinAcentos(str) 
  	Dim intI, strCar, Dev
    	Dev = ""
    	For intI = 1 To Len(str)
      		strCar = Mid(str, intI, 1)
      		Select Case strCar
			Case "à": Dev = Dev & "a"
			Case "á": Dev = Dev & "a"
			Case "è": Dev = Dev & "e"
			Case "é": Dev = Dev & "e"
			Case "í": Dev = Dev & "i"
			Case "ò": Dev = Dev & "o"
			Case "ó": Dev = Dev & "o"
			Case "ú": Dev = Dev & "a"
			Case Else: Dev = Dev & strCar
      		End Select
    	Next
    	SinAcentos = Dev
End Function
Y se llamaria de esta forma:

Código:
auxiliar = "Ajá, mi papá se subio al camión. AÁ EÉ IÍ OÓ UÚ aá eé ií oó uú ®® ññ"
auxiliar = SinAcentos(auxiliar)
Cualquiera sirve... te toca elegir!
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 18:32.