Imprimir página | Cerrar ventana

replace caracter em string

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84790
Fecha de impresión: 27/Marzo/2026 a las 00:34


Tema: replace caracter em string
Publicado por: cpampasPT
Asunto: replace caracter em string
Fecha de publicación: 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?





Respuestas:
Publicado por: rokoko
Fecha de publicación: 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...


Publicado por: cpampasPT
Fecha de publicación: 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 ?


Publicado por: rokoko
Fecha de publicación: 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...


Publicado por: lbauluz
Fecha de publicación: 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 un pajarraco


Publicado por: cpampasPT
Fecha de publicación: 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


Publicado por: cpampasPT
Fecha de publicación: 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





Imprimir página | Cerrar ventana