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.
benzer, aynı kelimeler
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- 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
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. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: benzer, aynı kelimeler
tesekkurler ben memo1 alaninda bulunanlari silmek istiyorum.
Re: benzer, aynı kelimeler
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.
Ş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.
-
- Üye
- Mesajlar: 401
- Kayıt: 22 Tem 2004 02:03
- Konum: sıkıntı çekmişlere yakın bi yerden
Re: benzer, aynı kelimeler
daha basit olarak textin içinde devamlı tekrar eden kelimeyi bul ve ondan sonra gelenleri sil
örnek:
memomuzun içine
ben trimlemedim trimleyip sıfır kayıpla halledersin
kolay gelsin
örnek:
memomuzun içine
yazdığımızı varsayalımmehmet ali ali zeytin börek çörek
kremalı ali ali çörek börek ali
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;
kolay gelsin
type
Tform1 = class(Tform)
Tform1 = class(Tform)