AJUDA COM REPLACE
Pessoal boa noite, será que alguém saberia como resolver este problema?
Tenho um texto que é mais ou menos assim:
[txt-color=#0000f0]ESTÃ VIAJANDO, RETORNA NO DIA 20[/txt-color] [txt-color=#8A2BE2]< 08/03/2017 18:48:54>[/txt-color]
[txt-color=#0000f0]SÓ LIGAR DEPOIS DO ALMOÇO[/txt-color] [txt-color=#8A2BE2]< 08/02/2017 12:48:54>[/txt-color]
Estou tentando fazer um Replace para tirar tudo que está entre o [Ô]<[Ô] e o [Ô]>[Ô]
o texto deveria ficar assim:
[txt-color=#0000f0]ESTÃ VIAJANDO, RETORNA NO DIA 20[/txt-color]
[txt-color=#0000f0]SÓ LIGAR DEPOIS DO ALMOÇO[/txt-color]
Tentei esses mas não acontece nada:
Ah, só pra constar, eu tentei um de cada vez....
Tenho um texto que é mais ou menos assim:
[txt-color=#0000f0]ESTÃ VIAJANDO, RETORNA NO DIA 20[/txt-color] [txt-color=#8A2BE2]< 08/03/2017 18:48:54>[/txt-color]
[txt-color=#0000f0]SÓ LIGAR DEPOIS DO ALMOÇO[/txt-color] [txt-color=#8A2BE2]< 08/02/2017 12:48:54>[/txt-color]
Estou tentando fazer um Replace para tirar tudo que está entre o [Ô]<[Ô] e o [Ô]>[Ô]
o texto deveria ficar assim:
[txt-color=#0000f0]ESTÃ VIAJANDO, RETORNA NO DIA 20[/txt-color]
[txt-color=#0000f0]SÓ LIGAR DEPOIS DO ALMOÇO[/txt-color]
Tentei esses mas não acontece nada:
txtNovo = Replace(rs(11), [Ô]<*[Ô], [Ô][Ô])
txtNovo = Replace(rs(11), [Ô]<*>[Ô], [Ô][Ô])
txtNovo = Replace(rs(11), [Ô]< * >[Ô], [Ô][Ô])
txtNovo = Replace(rs(11), [Ô]< *>[Ô], [Ô][Ô])
txtNovo = Replace(rs(11), [Ô]<>[Ô], [Ô][Ô])
Ah, só pra constar, eu tentei um de cada vez....
Eu usaria a função Split, buscando o valor do segundo item da array retornada, transformando em uma data e então pegando o dia da data.
Mas nesse caso o texto não tem apenas uma linha com [Ô]< [Ô] e [Ô] >[Ô]
Poderia dar um exemplo de como fazer?
Poderia dar um exemplo de como fazer?
Dim x As Variant
x = Split(SuaVariavelContendoValor, [Ô]<[Ô])
SeuRetorno = x(0)
Está um pouco tarde, amanhã vou tentar e postar o resultado aqui, acho que terei
que fazer uma adaptação uma vez que preciso percorrer todo texto, como eu disse
antes existe vários [Ô]<[Ô] e [Ô]>[Ô] então tenho que pegar o texto antes e depois, mas
já deu pra ter uma ideia do que fazer, obrigado.
que fazer uma adaptação uma vez que preciso percorrer todo texto, como eu disse
antes existe vários [Ô]<[Ô] e [Ô]>[Ô] então tenho que pegar o texto antes e depois, mas
já deu pra ter uma ideia do que fazer, obrigado.
Uma função antiga que o pessoal do forum ajudou-me a fazer para um replace com vários critérios e que talvez possa lhe ajudar.
Public Function ReplaceMultiplo(str As String, Procurar As String, Delimiter As String, Substituir As String) As String
Dim ArReplace As Variant
Dim i As Integer
If InStr(1, Procurar, Delimiter) = 0 Then
str = Replace(str, Procurar, Substituir)
ReplaceMultiplo = str
Exit Function
End If
ArReplace = Split(Procurar, Delimiter)
For i = 0 To UBound(ArReplace)
[ô]Str = MyReplace(Str, ArReplace(i), Substituir)
Next
ReplaceMultiplo = str
End Function
TargetTextBox.text = Replace(ReplaceMultiplo(TargetTextBox.text, Matriz(i), [Ô]|[Ô], [Ô]-[Ô]), [Ô] [Ô], [Ô][Ô])
Public Function ReplaceMultiplo(str As String, Procurar As String, Delimiter As String, Substituir As String) As String
Dim ArReplace As Variant
Dim i As Integer
If InStr(1, Procurar, Delimiter) = 0 Then
str = Replace(str, Procurar, Substituir)
ReplaceMultiplo = str
Exit Function
End If
ArReplace = Split(Procurar, Delimiter)
For i = 0 To UBound(ArReplace)
[ô]Str = MyReplace(Str, ArReplace(i), Substituir)
Next
ReplaceMultiplo = str
End Function
TargetTextBox.text = Replace(ReplaceMultiplo(TargetTextBox.text, Matriz(i), [Ô]|[Ô], [Ô]-[Ô]), [Ô] [Ô], [Ô][Ô])
Citação::
Uma função antiga que o pessoal do forum ajudou-me a .....
Muito obrigado por sua ajuda mas não tenho ideia de como usar esse código,
criei uma com o pouco conhecimento que tenho e com a dica que o Kerplunk
passou, mas só acha o primeiro valor.
Se alguém puder ajudar, sei que precisa de um laço para percorrer todo o texto
mas não consegui encontrar a linha de raciocÃnio para fazer....
Private Function formatObs() As String
Dim texto() As String
texto = Split(rs(11), [Ô]<[Ô])
formatObs = texto(0)
texto = Split(rs(11), [Ô]>[Ô])
formatObs = formatObs & texto(1)
End Function
Desde já agradeço a todos que possam ajudar...
Veja se este pequeno tutorial pode ajudar:
VÃdeo: Usando a função Replace
VÃdeo: Usando a função Replace
Obrigado professor, ajudou bastante.
Tópico encerrado , respostas não são mais permitidas