Buscar

Pegar texto entre duas strings

Código

Olá Amigos,

Com esta função você pode extrair texto entre duas strings.
Exemplo.

TextoEntre('1234567890', '34', '0')
Vai Retornar '56789'

Se não existir o delimitador de início ou de fim ele vai pegar respectivamente a partir do início ou até o fim.

Exemplo.
TextoEntre('1234567890', 'a', '5')
Vai Retornar '1234'

function TfrmHotel.TextoEntre(Texto, Delimitador1,
  Delimitador2: String; CaseSensitive : boolean = false): string;
  var Inicio, Fim : Integer;
      Saida : string;
begin
  // Passar o texto para variável temporária
  Saida := Texto;
  // Verificar se é sensível ao caso
  // Pegar o início
  if CaseSensitive then
    Inicio := Pos(Delimitador1, Saida)
  else
    Inicio := Pos(ansiUpperCase(Delimitador1), ansiLowerCase(Saida));
  // Verificar se localizou
  if Inicio > 0 then
    Saida := Copy(Saida, Inicio + Length(Delimitador1), Length(Saida));

  // Pegar o fim
  if CaseSensitive then
    Fim := Pos(Delimitador2, Saida)
  else
    Fim := Pos(ansiUpperCase(Delimitador2), ansiUpperCase(Saida));

  // Verificar se localizou
  if Fim > 0 then
    Saida := Copy(Saida, 1, Fim - 1);

  // retornar o resultado
  Result := Saida;
end;

Abraços,

Renato

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 30/11/09
Por: Renato Felix De Almeida
Visualizada: 12649 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009