Essa é estranha. Estou tentando substituir a segunda ocorrência de um valor usando a Replace
função. É isso que eu tenho.
Sub_string = Replace(sub_string, "<ul>", "", ulnestfound, 1, vbTextCompare)
Meu pensamento é que a Replace
função começaria a olhar para a posição ulnestfound
, e substituiria a primeira ocorrência de "<ul>"
daquele ponto. O que está realmente acontecendo é que todo o texto anterior a ulnestfound
está sendo excluído, junto com a <ul>
tag. Então, por exemplo, se ulnestfound = 100
, os primeiros 100 caracteres de sub_string
estão sendo excluídos, e então a substituição é feita.
Alguma ideia do porquê isso está acontecendo? Está me deixando louco.
Tentei digitar manualmente o valor inicial, que foi como percebi o que estava acontecendo. Não consigo imaginar por que ele apagaria texto desse jeito.
A documentação da função Replace diz:
Concordo que isso não é o que a maioria dos desenvolvedores presumiria, mas é consistente com o comportamento observado.
Em vez disso, você pode escrever:
Observe que a sintaxe é
Você omitiu o
count
parâmetro. Ou escrevaou
caso contrário
vbTextCompare
(=1) será consideradocount
.