PDA

View Full Version : سوال: بدست اوردن تعداد تکرار کلمات و حذف انها



MahmoodM30
چهارشنبه 10 مهر 1392, 10:39 صبح
سلام میخواستم ببینم چطور میتونم از داخل یک متن مثلا

"mahmood ali mahmood omid ali mahmood hosein reza amir"

تعداد تکرار همه کلمات رو بدست بیارم مثلا "mahmood" چند بار "omid" چند بار و .... چند بار تکرار شده؟ وبعد اینکه تعداد رو بدست آورد اونها رو پاک کنه یعنی "mahmood" اگه 3 بار تکرار شده 2 تاش رو حذف کنه و یکیش بمونه برای اونهایی هم که تکرار نشدن همون خودش بمونه و حذف نکنه

و بعد توی خروجی برامون نشون بده این تعداد تکرار و خود کلمات رو

ممنون میشم در این مورد من رو راهنمایی کنید و اگه شد نمونه مثالی برام بزارید لطف میکنید

یوسف زالی
چهارشنبه 10 مهر 1392, 11:55 صبح
سلام همشهری.
کد زیر می تونه کمکتون کنه:



function GetRepeatationInString(Src, What: string; IsCaseSensitive: boolean = false): integer;
begin
Result := length(What);

if IsCaseSensitive then
What := StringReplace(Src, What, '', [rfReplaceAll])
else
What := StringReplace(Src, What, '', [rfReplaceAll, rfIgnoreCase]);

Result := (length(Src) - length(What)) div Result;
end;

MahmoodM30
چهارشنبه 10 مهر 1392, 12:53 عصر
ممنون دوست عزی کاش نحوه استفاده این کد رو هم میگفتین متن رو چطورش بهش بدم و خروجی رو چطور ببینم

یوسف زالی
چهارشنبه 10 مهر 1392, 13:23 عصر
خیلی واضحه.
Src = Source = متن کامل
What = چیزی که دنبالشیم
IsCaseSensitive = حساس به بزرگی و کوچکی حروف باشد یا نه
خروجی هم یک عدده.