Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gabriel Jansen

[Colaboração] Replace entre caracteres.

Recommended Posts

Boa tarde!

 

Não sei se seria o lugar correto mas queria deixar uma pequena colaboração, em meio a pesquisa na internet não achei uma forma para o asp clássico de fazer replace entre duas variáveis definida e tentei estudar um pouco sobre replace e não consegui entender ao certo, então apelei.

 

Em meio ao texto pode ser que precise remover algo que está entre o determinada parte do conteúdo, ex: Abacaxi <0,1111> desidratado,  para Abacaxi desidratado.
Criei a função abaixo:

FUNCTION REPLACE_ENTRE(VARIAVEL,INICIO,FIM)
	
		TEXTO=VARIAVEL
		
		INICIA=split(TEXTO,INICIO)
		IF Ubound(INICIA)>"0" Then		
			FINALIZA=split(INICIA(1),FIM)
			REPLACE_ENTRE=INICIA(0)&""&FINALIZA(1)
		ELSE
			REPLACE_ENTRE=TEXTO
		END IF
		
END FUNCTION

Para fazer o replace chama ela dessa forma, caso queira pode fazer a alteração dos caracteres para qualquer um que deseja (desde que haja diferença entre elas tipo: [ , ], <,>, sx, xs):

REPLACE_ENTRE("Variavel que deseja fazer replace","caractere que identifica inicio","caractere que identifica o final")

Quero retirar uma parte do texto onde fica entre os caracteres "[" e "]".

Há quem o faça [mas não o aconselha] por isso não o farei.

 

FUNCTION REPLACE_ENTRE(VARIAVEL,INICIO,FIM)
	
		TEXTO=VARIAVEL
		
		INICIA=split(TEXTO,INICIO)
		IF Ubound(INICIA)>"0" Then		
			FINALIZA=split(INICIA(1),FIM)
			REPLACE_ENTRE=INICIA(0)&""&FINALIZA(1)
		ELSE
			REPLACE_ENTRE=TEXTO
		END IF
		
END FUNCTION

TEXTO="Há quem o faça [mas não o aconselha] por isso não o farei."

TEXTO=REPLACE_ENTRE(TEXTO,"[","]")

Imprimindo a variável ela ficará assim:

Há quem o faça por isso não o farei.

É isso ai :smile:

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Ruyter
      Estou com problema para resolver uma solução que estou necessitando. Toda ajuda será bem-vinda!
       
      Tenho uma tabela onde há vários registros com um mesmo IDENTIFICADOR e vários INDENTIFICADORES diferentes em uma mesma coluna.
      Como percorrer os registros de uma tabela, com base nos IDENTIFICADORES?
      Preciso também analisar um período por data (>= e <=) e ABSTRAIR deste período o valor MIN e MAX de uma outra coluna
      Esta consulta precisa ser realizada em cada IDENTIFICADOR DISTINTO?
       
      Já utilizei o BETWEEN, mas ao usar o código com o foreach() no PHP ele lê apenas um registro.
      O código que estou trabalhando é este:
       
      SELECT conf_hidro_inatividade, cons_reg_ident_iot, cons_data, MIN(cons_leitura_atual), MAX(cons_leitura_atual), hidro_valvula, hidro_cliente FROM tab_conf_hidro, tab_consumo INNER JOIN tab_hidrometros ON cons_reg_ident_iot = hidro_ident_iot WHERE cons_reg_ident_iot = '20220701001' and conf_hidro_inatividade = 'sim' and hidro_valvula = 'aberta' and cons_data BETWEEN '2022-10-10' and '2022-10-13';  
      Com:

       
      SELECT conf_hidro_inatividade, cons_reg_ident_iot, cons_data, cons_leitura_atual, hidro_valvula, hidro_cliente /*(sem o MIN e MAX na mesma coluna)*/ WHERE cons_reg_ident_iot != ' ' and conf_hidro_inatividade = 'sim' and hidro_valvula = 'aberta';  
      usando dentro do foreach(), percorre todos os registros.
    • Por mateus.andriollo
      Boa tarde,
      Tenho alguns campos numéricos q ao fazer uma select gostaria q retornasse uma legenda
       
      exemplo:
      Status: 0=Inativo / 1=Ativo Condição: 1=Funcionando / 2=Em manutenção / 3=Manutenção Interna   
      Seria algo assim, tenho varias tabelas com estes campos... mas tenho q ficar usando replace.
      Existe uma forma de criar uma função para isso? Nem q na função eu tenha que setar nome do campo, ficando assim:
      Legenda('Status',cadastro.status) 
    • Por stumpy
      Boa  noite gente estou com um site em asp clássico que até indexa no google  usei a imagem amp mas quando vou postar no facebook ou outras redes sociais ela não aparece  vi que tem o componente  para  transformar um jpg  em um webp  só que não achei nada em asp clássico alguém sabe como  consegue me ajudar ?
    • Por FabianoSouza
      Tenho um campo de descrição no meu sistema... nesse campo preciso fazer um replace de alguns "substrings" que podem existir.
      Exemplos:
      <apelido>apelido</apelido>
      <saudacao>saudacao</saudacao>
       
      Usando CASE e REPLACE para tratar essas substrings aí de cima, funciona para um caso ou para o outro, não ambos.
      Vejam como estou aplicando o SQL.
      ... , CASE WHEN MWA.descMsg LIKE '%'+'<saudacao>saudacao</saudacao>'+'%' Then REPLACE(MWA.descMsg, '<saudacao>saudacao</saudacao>', dbo.saudacao(GETDATE())) WHEN MWA.descMsg LIKE '%'+'<apelido>apelido</apelido>'+'%' Then REPLACE(MWA.descMsg, '<apelido>apelido</apelido>', '[Apelido]') ELSE MWA.descMsg END AS msg ... Preciso fazer com que esse tratamento seja aplicado para todas as situações, não apenas para uma das duas situações.
      O lance é que não tenho como colocar o campo tratado numa variável e ir aplicando o tratamento a ela de forma isolada.
    • Por Rodrigo-Linhas
      Olá não encontrei o topico referente a essa linguagem, então postei aqui em .NET! Tenho um scrpit e gostaria de saber se consigo pegar o array, transformar em variavel e colocar ela fora do Next?
      Segue o Exemplo:
      <% MeuArray = ("Amarelo, Vermelho, Verde, Azul") 'Este MeuArray é aleatório, existe mais de 10 mil opções Cores = Split(MeuArray, ",") For Each item In Cores Execute("VCores = item") 'Já usei essa função mas só aparece a ultima Array VCores = Response.Write(item & "<br>") 'Essa função ele trabalha com o next, mas só funciona assim! Next %> <%=VCores%> 'Aqui só chega a ultima Array. Tenho a necessidade de pegar todas fora do next, já procurei em varios foruns e sites em vbscript e não encontrei nada parecido, alguém conhece outra forma de fazer isso?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.