User LoL Posted May 31, 2013 at 06:55 AM Report #510117 Posted May 31, 2013 at 06:55 AM Eu tenho um código, que substitui uma letra determinada, por um número, como faço pra adaptar e ele substituir palavas? Exemplo: ele substitui "a" por "1", e se eu quisesse substituir "teste" por "isso e um texto", como faço?
legd1991 Posted May 31, 2013 at 07:46 AM Report #510120 Posted May 31, 2013 at 07:46 AM Dim palavra As String = "palavra" Dim palavraCorrecta As String = palavra.Replace("a","1")
nelsonr Posted May 31, 2013 at 08:28 AM Report #510123 Posted May 31, 2013 at 08:28 AM Ou Dim palavra as String = "teste" Dim palavraCorrecta as String = palavra.Replace("teste","isso e um texto")
User LoL Posted May 31, 2013 at 02:23 PM Author Report #510247 Posted May 31, 2013 at 02:23 PM (edited) Teria como eu criar um For Each, fazendo uma lista das palavras que devem ser substituidas? Tentei começando assim, mas ta dando problema na terceira linha, se eu uso ToString ele so aceita um caracter na entrada, e se coloco Split ele retira todos os espaços: Public Function substitui(ByVal todotexto As String) As String Dim resultado As String = "" For Each item As String In todotexto.ToString 'For Each item As String In >>> str.ToString <<< Quando aqui estiver ToString ele so substitui um caracter 'por uma palavra ou frase,e quando tiver split ele substitui ate frases, por outras frases, ' o problema é que o split tira os espaços entre as palavras. If item = "1" Then : item = "<numero 1>" ElseIf item = "2" Then : item = "<numero 2>" ElseIf item = "33" Then : item = "<numero 33>" End If resultado = "" & resultado & item Next substitui = resultado RichTextBox2.Text = resultado End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click substitui(RichTextBox1.Text) End Sub Edited May 31, 2013 at 02:24 PM by User LoL
nelsonr Posted May 31, 2013 at 02:34 PM Report #510257 Posted May 31, 2013 at 02:34 PM Porquê que estás a usar o foreach? Public Function substitui(ByVal todotexto As String) As String Dim resultado As String = todotexto resultado=resultado.Replace("1","<numero 1>") resultado=resultado.Replace("2","<numero 2>") resultado=resultado.Replace("33","<numero 33>") substitui = resultado RichTextBox2.Text = resultado End Function
User LoL Posted May 31, 2013 at 02:59 PM Author Report #510262 Posted May 31, 2013 at 02:59 PM Hm não tinha tentado dessa forma ainda, o For Each só estava complicando mesmo. Obrigado
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now