![]() |
|
Visual Basic - Identificar " (aspas) em strings - Versão de Impressão +- Forum Pplware (http://forum.pplware.com) +-- Fórum: Mais Tech (/forumdisplay.php?fid=11) +--- Fórum: Programação e Web (/forumdisplay.php?fid=16) +--- Tópico: Visual Basic - Identificar " (aspas) em strings (/showthread.php?tid=11261) |
Visual Basic - Identificar " (aspas) em strings - MininiM - 04-04-2012 14:45 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 RE: Visual Basic - Identificar " (aspas) em strings - TiagoDias - 04-04-2012 15:22 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 = """"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 (nunca programei em VB )
RE: Visual Basic - Identificar " (aspas) em strings - MininiM - 04-04-2012 16:19 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 RE: Visual Basic - Identificar " (aspas) em strings - TiagoDias - 04-04-2012 16:22 Se funcionou, é o que interessa ![]() O exemplo da text.box1 foi só isso mesmo, um exemplo ![]() Cumps |