Retirar caracteres de uma frase
Olá pessoal estou com um problema estou precisando retirar alguns caracteres de uma frase.
Exemplo: um endereço retirar o numero da rua
RUA IGUATEMI S.CARLOS 678
retirar o 678 e ficar assim
RUA IGUATEMI S.CARLOS
Muito obrigado.
Exemplo: um endereço retirar o numero da rua
RUA IGUATEMI S.CARLOS 678
retirar o 678 e ficar assim
RUA IGUATEMI S.CARLOS
Muito obrigado.
Jmarcelo_8
Curtidas 0
Respostas
Afarias
01/10/2009
Primeiro, é preciso definir um padrão para se identificar o q se deseja excluir
T+
T+
GOSTEI 0
Jmarcelo_8
01/10/2009
O que eu quero excluir eu já consigo achar dentro da frase, só esta faltando elimirar o palavra achada.
GOSTEI 0
Afarias
01/10/2009
|O que eu quero excluir eu já consigo achar dentro da frase, só esta faltando
|elimirar o palavra achada.
Bom, q vc sabe eu imaginei.Mas se quer ajuda deve contar o q vc sabe pois fica difícil ajudar sem ter informação nenhuma.
Meu objetivo era q vc nos contasse COMO vc consegue achar, pois como vc vai eliminar depende disso. Bom... Ex: se vc sabe definir a POSIÇÃO onde começa e termina o texto q quer excluir, use o procedimento DELETE:
Delete(Texto, PosicaoInicial, NumeroPosicoes);
T+
|elimirar o palavra achada.
Bom, q vc sabe eu imaginei.Mas se quer ajuda deve contar o q vc sabe pois fica difícil ajudar sem ter informação nenhuma.
Meu objetivo era q vc nos contasse COMO vc consegue achar, pois como vc vai eliminar depende disso. Bom... Ex: se vc sabe definir a POSIÇÃO onde começa e termina o texto q quer excluir, use o procedimento DELETE:
Delete(Texto, PosicaoInicial, NumeroPosicoes);
T+
GOSTEI 0
Jose Almeida
01/10/2009
function retificar(frase:String):String;
var
x:integer;
y:char;
begin
Result:=´´;
for x:=1 to length(Frase)do
begin
y := frase[x];
if not((Ord(y) > 47) and (Ord(y)< 58)) then
Result := Result + frase[x];
end
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := ´RUA IGUATEMI S.CARLOS 678´;
ShowMessage(retificar(Edit1.Text));
end;
var
x:integer;
y:char;
begin
Result:=´´;
for x:=1 to length(Frase)do
begin
y := frase[x];
if not((Ord(y) > 47) and (Ord(y)< 58)) then
Result := Result + frase[x];
end
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := ´RUA IGUATEMI S.CARLOS 678´;
ShowMessage(retificar(Edit1.Text));
end;
GOSTEI 0
Afarias
01/10/2009
Funciona... desde q ruas como estas:
rua 1º de março
rua 7 de setembro
rua 22 -- em algumas localidades as ruas tem números e não nomes
rua 12 de outubro
...
sejam escritas sempre por extenso, certo?
T+
rua 1º de março
rua 7 de setembro
rua 22 -- em algumas localidades as ruas tem números e não nomes
rua 12 de outubro
...
sejam escritas sempre por extenso, certo?
T+
GOSTEI 0
Jose Almeida
01/10/2009
Isso deve resolver o novo problema:
function retificar(frase:String):String;
var
x,z:integer;
y:char;
num:boolean;
begin
num := true;
Result:=´´;
for x := 1 to length(frase)do
begin
z := length(frase) - x + 1;
y := frase[z];
if num then
if not((Ord(y) > 47) and (Ord(y)< 58)) then num := false;
if not num then Result := y + Result;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := ´RUA 7 DE SETEMBRO 678´;
ShowMessage(retificar(Edit1.Text));
end;
function retificar(frase:String):String;
var
x,z:integer;
y:char;
num:boolean;
begin
num := true;
Result:=´´;
for x := 1 to length(frase)do
begin
z := length(frase) - x + 1;
y := frase[z];
if num then
if not((Ord(y) > 47) and (Ord(y)< 58)) then num := false;
if not num then Result := y + Result;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := ´RUA 7 DE SETEMBRO 678´;
ShowMessage(retificar(Edit1.Text));
end;
GOSTEI 0