** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - replace caracter em string
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoreplace caracter em string

 Responder Responder
Autor
Mensaje
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 508
Enlace directo a este mensaje Tema: replace caracter em string
    Enviado: 02/Noviembre/2019 a las 19:15
hola,
Alguien tiene una idea de porque la siguiente string :

dim clube as string
clube="SL BENFICA?RIO AVE FC?"
------------------------------------------
tiene los siguientes dos resultados en la ventana  inmediate 

?Replace("SL BENFICA?RIO AVE FC?", "?", " - ")
SL BENFICA - RIO AVE FC - 

?Replace(clubes, "?", " - ")
SL BENFICA?RIO AVE FC?


Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 2171
Enlace directo a este mensaje Enviado: 02/Noviembre/2019 a las 19:26
hola,
Alguien tiene una idea de porque la siguiente string :

dim clube as string
clube="SL BENFICA?RIO AVE FC?"
------------------------------------------
tiene los siguientes dos resultados en la ventana  inmediate 

?Replace("SL BENFICA?RIO AVE FC?", "?", " - ")
SL BENFICA - RIO AVE FC - 

?Replace(clubes, "?", " - ")
SL BENFICA?RIO AVE FC?

Puede que sea esto, (no lo se) para detectar estos errores esta bien tener Option Explicit  puesto, y nos dira si una variable no esta declarada...
Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 508
Enlace directo a este mensaje Enviado: 02/Noviembre/2019 a las 19:35
hola rokoko
de hecho ha sido error mio al escribir, lo correcto seria

dim clubes as string
clubes="SL BENFICA?RIO AVE FC?"

por lo que el problema persiste. raro esto, no ?
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 2171
Enlace directo a este mensaje Enviado: 02/Noviembre/2019 a las 19:59
Lo acabo de probar y a mi me lo hace bien....ni idea de lo que ocurre....
Revisa que tengas todo bien escrito...
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Binghamton NY.
Estado: Sin conexión
Puntos: 3424
Enlace directo a este mensaje Enviado: 02/Noviembre/2019 a las 22:00
Probablemente el símbolo ? no sea un interrogante sino un carácter no imprimible y por eso pone "?" porque los reemplaza

Deberías buscar qué caracter es  para poder hacer el reemplazo.

prueba

Sub CheckAlpha(var)
    For i = 1 To Len(var)
        If Asc(Mid(UCase(var), i, 1)) < 65 Or Asc(Mid(UCase(var), i, 1)) > 90 Then
            MsgBox "Char in position: " & i & "has a value : " & Asc(Mid(UCase(var), i, 1))
        End If
    Next i
End Sub


Te dará los valores que no son alfa

Tendrás que cambiar ese valor, en lugar de ? (Si es lo que yo creo, claro)

Suerte

Luis
El Búho es mi ídolo caido
Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 508
Enlace directo a este mensaje Enviado: 02/Noviembre/2019 a las 22:45
gracias Luis, pero el caracter asc es el numero 63 que corresponde al caracter "?", asi que tiene que alguna otra cosa. Esto lo dejo para manana por la manana, porque ahora aunque quiera ya no lo consigo ver, manana temprano  a lo mejor. 

MOREIRENSE FC?VITORIA SC?

Char in position: 11 has a value : 32
Char in position: 14 has a value : 63
Char in position: 22 has a value : 32
Char in position: 25 has a value : 63
Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 508
Enlace directo a este mensaje Enviado: 02/Noviembre/2019 a las 23:51
hola,
Siguiendo el consejo de Luis, que apuntaba a que el caracter era un caracter unicode no imprimible.
Intente encontrar el caracter con InStr, y tampoco lo encontraba
Al final  la solucion aunque tampoco consigo explicar porque ,  es la siguiente :

clubes = Replace(clubes, ChrW(8203), " - ")

Gracias por la ayuda, podeis cerrar el hilo


Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable