Dev (Back & Front)ARTIGO

Você sabe usar a função Replace() do ASP?

A função Replace() do ASP parece ser bem simples, porém nem todos sabem utilizar por completa. Nesse artigo vou mostrar como usar corretamente e com eficiência essa “simples função”.

Todos nós programadores ASP sabemos usar simplificada a função Replace(), segue um exemplo:

<%<br />dim frase<br />frase = "Por uma internet sempre criativa e dinâmica"<br />response.write(replace(frase, "sempre", "mais"))<br />%>

Uma maneira simples, usamos o texto que está em pauta seguido da palavra que queremos substituir e depois da palavra que queremos colocar no lugar.

replace(texto em pauta, palavra que sai, palavra que entra)

Resultado do Script: “Por uma internet mais criativa e dinâmica”

Observação: a função replace() é “Case Sensitive”. Se quiser substituir “A” por “a”, onde existir o “A” maiúsculo será substituído pelo “a” minúsculo.

Vamos para a parte que interessa mais:

No texto “Por uma internet mais criativa e dinâmica” queremos que a letra “i” de “internet” seja maiúscula, mas não as outras. Como fazer isso?

Seguindo essa sequência “replace(texto em pauta, palavra que sai, palavra que entra)”, existem mais três parâmetros opcionais que complementam a função:

  • Posição inicial;
  • Count (um contador que especifica o número de substituição);
  • Comparador de Strings (caso binário de padrão “zero” ou texto).

Segue o exemplo:

<%<br />dim frase<br />frase = "Por uma internet mais criativa e dinâmica"<br />response.write(replace(frase, "i", "I", 1,1,1))<br />%>

Resultado do Script: “Por uma Internet mais criativa e dinâmica”

No parâmetro inicial você também pode usá-lo como um “cortador de letras”, exemplo: Eu não quero mais que apareça a palavra “Por”, então cortamos três letras da frase. Caso queira cortar o espaço também e usar quatro no contador, fiquem à vontade, mas para isso usamos a função trim(), que não vem ao caso.

Segue o exemplo:

<%<br />dim frase<br />frase = "Por uma internet mais criativa e dinâmica"<br />response.write(replace(frase, "u", "U", 4,1,1))<br />%>

Resultado do Script: “Uma internet mais criativa e dinâmica”

Notem que coloquei no valor da posição o número “4” (quatro). Explicarei o porquê.

O valor padrão da posição inicial vem de default “1” (um) e não “0” (zero) como estamos acostumados em outras funções, por isso adicionamos mais um valor no contador no caso “3 + 1”.

E o que falar da última posição o “Comparador de Strings”?

Olha como funciona. Segue o exemplo:

<%<br />dim frase<br />frase = "Elegante"<br />response.write(replace(frase, "e", "?", 1,1,0))<br />%>

Se eu deixar o valor inicial como “1” (um), e pegar só uma letra “e” e colocar no Comparador de Strings “0” (zero) o resultado sai:

Resultado do Script: “ElEURgante”

Ele não considerou a letra maiúscula “E” inicial, mais se eu trocar o último parâmetro para “1” (um), vamos ver no que gera.

Segue o exemplo:

<%<br />dim frase<br />frase = "Elegante"<br />response.write(replace(frase, "e", "?", 1,1,1))<br />%>

Resultado do Script: “EURlegante”

Agora sim, ele reconhece o primeiro “e” e faz a alteração. Tenha muito cuidado quando for usar o Comparador de Strings, oks?

Abraços, amigos, e vamos tomar conhecimento da linguagem para não fazer trabalho desnecessário! Até o próximo artigo!

Ted kAutor

Programador WEB com conhecimento em várias linguagens de programação. Sócio-Fundador e Desenvolvedor na AgênciaOFF, desenvolvendo o Front-End de Sites e criando interatividades com JavaScript, HTML5 (Games em JavaScript). Desenvolvo também em Objective-C (para iPhone/iPad), Ardunio (C/C++), PHP, ASP e ASP.NET (C# e VB). Programo desde 1997 e tenho uma grande experiência na área.

Ver perfil