benzer, aynı kelimeler

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sr1111
Üye
Mesajlar: 220
Kayıt: 06 Mar 2008 01:59

benzer, aynı kelimeler

Mesaj gönderen sr1111 »

merhaba
yazi dosyamda benzer ayni kelimeler var bunlarin sadece birisnin kalmasini istiyorum digerlerin silinmesini. nasil yapabilirim. ms wordde de olsa çözüm olabilir.
mesela elma armut gibi gecen 20 tane kelime geciyor dosya icinde sadece bir tane kalmasini istiyorum. digerlerin silinmesini.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: benzer, aynı kelimeler

Mesaj gönderen sabanakman »

Eğer tabloda bulunan kayıtlardan sileceksen Bknz..:viewtopic.php?f=27&t=23641
En son sabanakman tarafından 20 Haz 2008 03:55 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
sr1111
Üye
Mesajlar: 220
Kayıt: 06 Mar 2008 01:59

Re: benzer, aynı kelimeler

Mesaj gönderen sr1111 »

tesekkurler ben memo1 alaninda bulunanlari silmek istiyorum.
Kullanıcı avatarı
SHURZAN
Üye
Mesajlar: 73
Kayıt: 06 Eki 2007 05:34
Konum: İstanbul

Re: benzer, aynı kelimeler

Mesaj gönderen SHURZAN »

Ben bunun benzeri çalışma yapmıştım.
Şu mantıkla TStringList'e strinleri tek tek alıyorum ve alırken "Duplicates" özelliğini aktif ediyorum
Şöyleki ;
BenimStringlistem->Sorted = true;
BenimStringlistem->Duplicates = dupAccept;

sonra for döngüsüyle tüm alacaklarımı satır satır alıyorum. Eğer kelimeyse kelimleri tek tek alıyorum StringList'in he satırına bir kelime gelicek şekilde.
böylelikle aynı olanlar alt alta gelmiş olacak

Sonar bu listede birden fazla aynı olanları satır satır karşılaştırarak delete edebilirsin.

böylece elimizde her kelime/String den sadece bir tane kalıyor artık bundan sonrası sana kalmış bunları yeniden yan yanamı yazarsın yoksa liste olarakmı Yada BenimStringlistem->SaveToFile("Liste.txt"); şeklinde mi yazarsın bu sana kalmış.

Tabi daha faklı önerilerde olacaktır benim ilk aklıma gelen böyle bir algoritma.

Not: Yukarıdaki algoritmayı kodlardım ama ancak c++ ile bu da kafanı karıştırabilirdi.

Umarım yardımcı olabilmişimdir.
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Re: benzer, aynı kelimeler

Mesaj gönderen true_false »

daha basit olarak textin içinde devamlı tekrar eden kelimeyi bul ve ondan sonra gelenleri sil
örnek:
memomuzun içine
mehmet ali ali zeytin börek çörek
kremalı ali ali çörek börek ali
yazdığımızı varsayalım

Kod: Tümünü seç

procedure TForm1.FormShow(Sender: TObject);
VAR
textim,aratext,ara2text:string;
sontext:string;
ilkyer:integer;
bul:string;
begin
bul := 'ali';
textim := Memo1.Text;
  ilkyer := pos(bul,textim)+ length(bul);
  aratext:= copy(textim,1,ilkyer);
  ara2text := copy(textim,length(aratext),length(textim));
  while pos(bul,ara2text)> 0 do
     delete(ara2text, pos(bul,ara2text) , length(bul) );
   sontext := aratext + ara2text;
   Memo1.Text := sontext;
end;
ben trimlemedim trimleyip sıfır kayıpla halledersin
kolay gelsin
type
Tform1 = class(Tform)
Cevapla