Replace - Dúvida
#1
Posted 16/07/2005, 17:31
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
Posted 16/07/2005, 17:37
Replace(Replace(texto,"Fernando","Eduardo"),"meu","my")
#3
Posted 16/07/2005, 18:23
#4
Posted 17/07/2005, 00:19
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?
* 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
Posted 17/07/2005, 02:02
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
Posted 17/07/2005, 02:12
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
[]'s
“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
Posted 17/07/2005, 09:39
posso até estar ficando doido mas do jeito que você fez o resultado seria: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
[]'s
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.
Copiar o bom é melhor que inventar o ruim
========================================================
"O segredo da criatividade é saber esconder suas fontes"
(Einstein)
========================================================
#8
Posted 17/07/2005, 09:45
“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
Posted 17/07/2005, 09:52
Copiar o bom é melhor que inventar o ruim
========================================================
"O segredo da criatividade é saber esconder suas fontes"
(Einstein)
========================================================
#10
Posted 17/07/2005, 09:56
<% 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
Posted 17/07/2005, 18:01
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
* 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
Posted 17/07/2005, 22:02
<% 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
Posted 17/07/2005, 22:19
tem manual disso aí???
Copiar o bom é melhor que inventar o ruim
========================================================
"O segredo da criatividade é saber esconder suas fontes"
(Einstein)
========================================================
#14
Posted 17/07/2005, 22:45
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
Posted 17/07/2005, 23:16
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
* 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)