Back-End

6 abr, 2009

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

Publicidade

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:

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

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:

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

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:

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

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:

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

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:

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

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!