Regresar   Foros del Web > Programación para sitios web > ASP

El registro es Gratis en Foros del Web
Respuesta
 
Herramientas Buscar en Tema Desplegado
Antiguo 28/03/08, 11:41:09   #1 (permalink)
MandrakeXP tiene un saldo positivo de karma
 
Registrado: mar 2005
Mensajes: 209
MandrakeXP is offline  
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
  Responder Con Cita
Antiguo 28/03/08, 12:11:23   #2 (permalink)
Moderador
Al Zuwaga tiene un muy buen nivel de karmaAl Zuwaga tiene un muy buen nivel de karmaAl Zuwaga tiene un muy buen nivel de karmaAl Zuwaga tiene un muy buen nivel de karma
 
Registrado: nov 2002
Ubicación: 34.517 S, 58.500 O
Mensajes: 11.961
Al Zuwaga is offline  
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?
__________________
···---···
  Responder Con Cita
Antiguo 28/03/08, 12:24:36   #3 (permalink)
MandrakeXP tiene un saldo positivo de karma
 
Registrado: mar 2005
Mensajes: 209
MandrakeXP is offline  
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?
  Responder Con Cita
Antiguo 28/03/08, 21:38:31   #4 (permalink)
i_e_s27 tiene algunos puntos positivos de karma
 
Registrado: mar 2008
Ubicación: En mi casa
Mensajes: 180
i_e_s27 is offline  
Alegría 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
  Responder Con Cita
Antiguo 28/03/08, 21:53:07   #5 (permalink)
i_e_s27 tiene algunos puntos positivos de karma
 
Registrado: mar 2008
Ubicación: En mi casa
Mensajes: 180
i_e_s27 is offline  
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
  Responder Con Cita
Antiguo 29/03/08, 04:37:47   #6 (permalink)
MandrakeXP tiene un saldo positivo de karma
 
Registrado: mar 2005
Mensajes: 209
MandrakeXP is offline  
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"%>
  Responder Con Cita
Antiguo 30/03/08, 06:05:02   #7 (permalink)
i_e_s27 tiene algunos puntos positivos de karma
 
Registrado: mar 2008
Ubicación: En mi casa
Mensajes: 180
i_e_s27 is offline  
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.
  Responder Con Cita
Antiguo 30/03/08, 07:00:12   #8 (permalink)
i_e_s27 tiene algunos puntos positivos de karma
 
Registrado: mar 2008
Ubicación: En mi casa
Mensajes: 180
i_e_s27 is offline  
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!
  Responder Con Cita
Respuesta


Califica este Tema - replace que no funciona :(.

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado Califica este Tema
Califica este Tema:

Reglas del foro
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está activado
Las caritas están activado
Código [IMG] está activado
Código HTML está desactivado


Todas las horas son GMT -6. La hora es 14:34:50.

Message Board Statistics

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95