Jump to content


Photo

Replace - Dúvida


  • Faça o login para participar
26 replies to this topic

#1 Unrealed

Unrealed

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 16/07/2005, 17:31

Olá a todos, por favor, gostaria de pedir ajuda com o comando Replace, por exemplo:

texto = "Olá, meu nome é Fernando, meu pai também se chama Fernando"
Replace(texto,"Fernando","Eduardo")

Ficaria:
"Olá, meu nome é Eduardo, meu pai também se chama Eduardo"

Mas... e se eu quisesse substituir 2 strings? Por exemplo:
"meu" por "my" ; "Fernando" por "Eduardo", ficaria:

"Olá, my nome é Eduardo, my pai também se chama Eduardo"

Se alguém souber, seria muito grato.
Obrigado.

#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 16/07/2005, 17:37

Assim:

Replace(Replace(texto,"Fernando","Eduardo"),"meu","my")


#3 Unrealed

Unrealed

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 16/07/2005, 18:23

Muito Obrigado. Qualquer dúvida sobre C++, UC to ai...

#4 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 17/07/2005, 00:19

vou seguir o topico...
e para dar replace em todas menos na primeira?

http://batata//comigo//otavio/


queria deixar a primeira // e dar um replace depois em todas duplicadas... como eu faria?

;) (y)
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#5 _MX_

_MX_

    Conhecimento nunca é demais

  • Usuários
  • 563 posts
  • Sexo:Não informado
  • Localidade:Diadema-sp

Posted 17/07/2005, 02:02

não testei mas acho que funciona

texto="http://batata//comigo//otavio/"
posicao=instr(texto,"//")
texto2=replace(texto,"//","/",posicao)

========================================================
Copiar o bom é melhor que inventar o ruim
========================================================
"O segredo da criatividade é saber esconder suas fontes"
(Einstein)
========================================================

#6 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 17/07/2005, 02:12

Se for remover o http:// também é isso mesmo _MX_, pensei mas nao respondi, a não ser que voce remova e depois adicione Luis Otavio ai vai funcionar, vide abaixo.

Assim:

<%
texto = "http://batata//comigo//otavio/"
texto=replace(texto,"//","/",8) 'Removemos o http:// e substituimos o // por /
texto= "http://"&texto 'Adicionamos o http:// de volta ao inicio
Response.Write texto
%>

Deve até ter uma forma + facil :wacko:

[]'s
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)

#7 _MX_

_MX_

    Conhecimento nunca é demais

  • Usuários
  • 563 posts
  • Sexo:Não informado
  • Localidade:Diadema-sp

Posted 17/07/2005, 09:39

Se for remover o http:// também é isso mesmo _MX_, pensei mas nao respondi, a não ser que voce remova e depois adicione Luis Otavio ai vai funcionar, vide abaixo.

Assim:

<%
texto = "http://batata//comigo//otavio/"
texto=replace(texto,"//","/",8) 'Removemos o http:// e substituimos o // por /
texto= "http://"&texto 'Adicionamos o http:// de volta ao inicio
Response.Write texto
%>

Deve até ter uma forma + facil :wacko:

[]'s

posso até estar ficando doido mas do jeito que você fez o resultado seria:

http://http://batata/comigo/otavio/

porque o nº 8 indica que ele vai começar a substituir a partir do 8º caractere, mas não exlui esses caracteres .

O Otávio é o rei do ASP, duvido que não saiba fazer isso, mas foi bom o teste.

:lol: (y)
========================================================
Copiar o bom é melhor que inventar o ruim
========================================================
"O segredo da criatividade é saber esconder suas fontes"
(Einstein)
========================================================

#8 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 17/07/2005, 09:45

:huh:

http://www.agenciacr...om.br/teste.asp


[]'s
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)

#9 _MX_

_MX_

    Conhecimento nunca é demais

  • Usuários
  • 563 posts
  • Sexo:Não informado
  • Localidade:Diadema-sp

Posted 17/07/2005, 09:52

bom, contra fatos não há argumentos, então retiro o que disse e tá resolvido a parada.
========================================================
Copiar o bom é melhor que inventar o ruim
========================================================
"O segredo da criatividade é saber esconder suas fontes"
(Einstein)
========================================================

#10 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 17/07/2005, 09:56

Gente, que confusão que vocês fizeram. Só assim já resolve:

<%

Texto = "http://batata//comigo//otavio/"

Texto2 = "http://" & Replace(Texto, "//", "/", InStr(1, Texto, "//")+2, -1)

%>
Usei o -1 ali, porque a documentação diz que o quarto parâmetro deve ser usado em conjunto com o quinto. Como não testei, preferi não arriscar.

http://msdn.microsof...sfctReplace.asp

-------------------------

Agora que eu vi que o Replace corta o texto. Acrescentei o http no código. Entendi porque o Generation fez daquele jeito.

Edição feita por: LeoB, 17/07/2005, 10:04.


#11 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 17/07/2005, 18:01

valeu pelas ajudas ai...
funfo, so num testei... e esqueci de mensionar este caso:

Texto = "http://batata//comigo//otavio/index.asp?site=http://site//pagina//otavio/index.asp"

ele num poderia substituir as barras do outro Http://, so podia substituir se naum tivesse o http://, entaum, eu fiz gambiarra, num sei se é a melhor forma, mas tb funcionou...

ficou assim:

LinksFinaisArrumados = Replace(LinksFinaisArrumados,"http://","[!@!]")
LinksFinaisArrumados = Replace(LinksFinaisArrumados,"//","/")
LinksFinaisArrumados = Replace(LinksFinaisArrumados,"[!@!]","http://")

bem, se quiserem ver funfando...
to montando um buscador, e ele tem q me retornar todos os links de uma página...
testem ai.. mas num reparem para erros adicionais, q ta em faze de testes.. hehehe

http://www.ipugle.com.br/

_MX_

O Otávio é o rei do ASP, duvido que não saiba fazer isso, mas foi bom o teste.


as vezes num sei mesmo.. hehehe, ou é o sono pegando... ou pior, vc fica tanto tempo encima de uma coisa, que acaba naum conseguindo mais ver os erros... dai so indo dormir... ou perguntando no forum :D :P

;) (y)
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#12 Unrealed

Unrealed

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 17/07/2005, 22:02

Eu entendi o que você quer fazer, só não sei explicar porque nem eu mesmo sei o que eu fiz aqui pra dar certo, ficou uma gambiarra mas funciona legal:

<%

dim OwnItems, ItemSearch, newEspace, ItemCount, MaxItem, ItemPos, LastPos, PreNewItems, NewItems
OwnItems = "BBFFFFBBAAFFAAAAFFBBBBAAFFAA"
ItemSearch = "AA"
newEspace = "FF"

ItemCount = 0
MaxItem = 3
ItemPos = 0
LastPos = 0

PreNewItems = ""
NewItems = ""

int Sucess
Sucess = 0

for i=1 to MaxItem

if i=1 then
ItemPos = InStr(ItemPos+1, OwnItems, ItemSearch)
end if

if ItemPos > 0 then
ItemPos = InStr(ItemPos+1, OwnItems, ItemSearch)
ItemCount = ItemCount+1

if i=MaxItem then
LastPos = ItemPos
end if

end if

next

if ItemCount >= MaxItem then
PreNewItems = Replace(Left(OwnItems,LastPos-1+Len(ItemSearch)),ItemSearch,newEspace)
NewItems = PreNewItems + Right(OwnItems,len(OwnItems) - len(PreNewItems))
Sucess = 1
end if

if Sucess <> 1 then ShowBool = "Não" else ShowBool = "Sim"

response.write("OwnItems = " & OwnItems & "<br>")
response.write("ItemSearch = " & ItemSearch & "<br>")
response.write("newEspace = " & newEspace & "<p>")
response.write("ItemCount = " & ItemCount & "<br>")
response.write("LastPos = " & LastPos & "<p>")
response.write("PreNewItems = " & PreNewItems & "<br>")
response.write("NewItems = " & NewItems & "<p>")
response.write("ShowOwnItems = " & Replace(Replace(Replace(OwnItems,"FF","Nada, "),"AA","<b>Ameixa</b>, "),"BB","Bola, ") & "<br>")
response.write("ShowNewItems = " & Replace(Replace(Replace(NewItems,"FF","Nada, "),"AA","<b>Ameixa</b>, "),"BB","Bola, ") & "<p>")
response.write("Função: O Código consiste em substituir as " & MaxItem & " primeira(s) string(s) :: <b>" & ItemSearch & "</b> :: por :: <b>" & newEspace & "</b><br>")
response.write("OwnItems possui " & MaxItem & " string(s) denominadas :: " & ItemSearch & " :: ? <b>" & ShowBool & "</b>")

%>

Os Resultados foram:

OwnItems = BBFFFFBBAAFFAAAAFFBBBBAAFFAA
ItemSearch = AA
newEspace = FF
ItemCount = 3
LastPos = 15

PreNewItems = BBFFFFBBFFFFFFFF
NewItems = BBFFFFBBFFFFFFFFFFBBBBAAFFAA

ShowOwnItems = Bola, Nada, Nada, Bola, Ameixa, Nada, Ameixa, Ameixa, Nada, Bola, Bola, Ameixa, Nada, Ameixa, 
ShowNewItems = Bola, Nada, Nada, Bola, Nada, Nada, Nada, Nada, Nada, Bola, Bola, Ameixa, Nada, Ameixa, 

Função: O Código consiste em substituir as 3 primeira(s) string(s) :: AA :: por :: FF
OwnItems possui 3 string(s) denominadas :: AA :: ? Sim

No caso, eu estipulei 3, ou seja, ele substitui as 3 primeiras strings XX por YY, o resto permanece.

T+ e vlw gente.

Edição feita por: Unrealed, 17/07/2005, 22:05.


#13 _MX_

_MX_

    Conhecimento nunca é demais

  • Usuários
  • 563 posts
  • Sexo:Não informado
  • Localidade:Diadema-sp

Posted 17/07/2005, 22:19

isso sim é matar uma formiga com um canhão de absorção atômica!!!
tem manual disso aí??? :o
========================================================
Copiar o bom é melhor que inventar o ruim
========================================================
"O segredo da criatividade é saber esconder suas fontes"
(Einstein)
========================================================

#14 Unrealed

Unrealed

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 17/07/2005, 22:45

huahauahua, vamos lá:

MinhaString: "O céu é azul, o mato é azul, o monitor é azul, bla bla bla"
Eu quero substituir as 2 primeiras strings "azul".

ProcuroPor: "azul"
SubstituoPor: "verde"

Não posso usar Replace em tudo, só quero substituir as 2 primeiras.

Então: Eu pego a posição da 2ª String, usando a função InStr - 1, pq:
Se a 2ª string for "Fernando", ele marca a posição "F", e eu quero depois desta String inteira, depois do "Fernando". Então conto quant de LENs de "Fernando" e subtraio 1, ou seja:

"Fernando ", Posição 41 o "F". " " estará na posição len("Fernando") - 1 pois já começa no "F".

depois desta posição-1 eu crio 1 string.
NovaString = "O céu é azul, o mato é azul"

depois dela, eu crio outra:
SuperNovaString = ", o monitor é azul, bla bla bla"

então substituo na NovaString "azul" por "verde", o que der SOMO com a SuperNovaString.

Se vocês não entenderam eu vendo o manual por R$1,99.

flws.

#15 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 17/07/2005, 23:16

não mudando muito o caminho do tópico, mas ainda mantendo os desafios.. e dar um replace assim

Variavel = "<lindo, bonito inteligente> otavio <e muito mais que vc pode imaginar>."

queria manter so o q esta entre >< que seria "otavio" o resto fica vazio..

resultado

Variavel = "otavio"

Deem uma ajuda ai pessoal sou novo no ASP :o :lol: :D :P

;) (y)
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq