Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Visual Basic - Identificar " (aspas) em strings
04-04-2012, 14:45
Mensagem: #1
Visual Basic - Identificar " (aspas) em strings
Boas

Como devem saber na maior parte das linguagens as strings têm de ser demarcadas com aspas ("). Mas quando estou a tratar uma string que ela própria tem aspas não consigo arranjar maneira de as referenciar.

Ou seja:

Imaginem a variável string frase:
frase = O Livro "Programação for dummies" não funcionou comigo...

À var frase quero substituir as " por '. Na função 'replace' são pedidos 3 argumentos:
- a string a trabalhar,
- a string a substituir dentro da string a trabalhar
- e a nova string que toma o lugar da anterior

O problema é que na referência de strings eu não posso usar as aspas,

Replace(frase, " " "," ' ") - isto obviamente dá erro porque a segunda aspa do argumento 2, fecha a string de procura, e terceira está a abrir novamente uma string o que faz com tudo se torne inconsistente.

Existe algum símbolo que o Visual Basic usa para poder referênciar que as aspas são o próprio caracter que estou à procura?

Cumprimentos
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
04-04-2012, 15:22
Mensagem: #2
RE: Visual Basic - Identificar " (aspas) em strings
Boas,

Em VB também podes inserir aspas numa string com o código ASCII das aspas - Chr(34) - não sei se irá funcionar para o que queres.

Ou podes definir uma constante para as aspas. Por exemplo:

Código:
Const aspas As String = """"
TextBox1.Text = "O Livro " & aspas & "Programação for dummies" & aspas & "não funcionou comigo..."

Também não sei se fará o que pretendes.

Já agora, e posso estar a dizer uma barbaridade, mas experimentaste no Replace colocar as aspas da mesma forma que defines a string? Ou seja, com duas aspas seguidas. Ex: Replace(frase, " "" "," ' ")


Não sei isto ajuda.. mas fica a tentativa Smile (nunca programei em VB Tongue)

Pplware.com
[Imagem: pplware_staff.png]
[Imagem: pplware_moderator.png]
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
04-04-2012, 16:19
Mensagem: #3
RE: Visual Basic - Identificar " (aspas) em strings
Vou ser sincero, pensava que não daria mas deu.

quando defino aspas = """
o compiler automaticamente completa como aspas = """"

a partir daí uso a variável aspas para definir isso mesmo as ".
Funciona na função Replace.

Presumo que colocando " "" " na função replace não funciona porque ele considera os espaços também como caracteres a encontrar, terá mesmo de ser """".

[Eu não precisava do exemplo da text.box1 (que também refere até o mesmo problema) porque os textos estão a ser lidos directamente de um txt com o StreamReader (equivalente ao Scanner do java). Como os texto têm aspas e precisava de separar a string em sub-strings pelas aspas deparei-me com este problema]

Muito Obrigado. Cumprimentos
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
04-04-2012, 16:22
Mensagem: #4
RE: Visual Basic - Identificar " (aspas) em strings
Se funcionou, é o que interessa Smile

O exemplo da text.box1 foi só isso mesmo, um exemplo Wink

Cumps

Pplware.com
[Imagem: pplware_staff.png]
[Imagem: pplware_moderator.png]
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)