PDA

View Full Version : حذف فاصله بین کلمات



ariadpg
یک شنبه 23 اردیبهشت 1386, 06:04 صبح
با سلام
راهنمائی می خواهم در مورد یک ابزاری آماده که بتوان با آن فاصله موجود ما بین یک یا چند کلمه فارسی را حذف نمود با در نظر گرفتن اینکه حروف به هم دیگر نچسبد. یعنی آنجائی که حروف به هم دیگر می چشبد را حذف نکند. مثلا در کلمه( حسین علی) فاصله مابین حسین و علی را حذف نکند

MNosouhi
یک شنبه 23 اردیبهشت 1386, 09:34 صبح
خب اول فاصه رو پیدا کن ، بعد حرف قبل و بعد از فاصله رو چک کن و در صورت وجود داشتن شرایط فاصله رو حذف کن ، مشکل کجاس؟

AhmadYousefi
یک شنبه 23 اردیبهشت 1386, 10:58 صبح
function DelSpace(isString:String):String;
begin
while Pos(' ',isString) > 0 do
Delete(isString,Pos(' ',isString),1);
DelSpace:=isString;
end;

ghabil
یک شنبه 23 اردیبهشت 1386, 13:02 عصر
اون چیزی که من از این نوشتت میفهمم اینه که میخوای هرجا 2 تا فاصله یا بیشتر بود بکندش 1 فاصله درسته ؟ چون معمولا کلمه ها با فاصله بعدشون شناخته میشوند و کامپیوتر که نمیتونه معنایی کلمه رو پیدا کنه.
اگر غیر از اینه با مثال بگو مثلا چی؟

Younes_M
دوشنبه 24 اردیبهشت 1386, 08:53 صبح
function TForm1.DeleteSpace(aString: String): String;
var
Start, Counter: Integer;
LastStirng: String;
begin
LastStirng:= '';
Start:= 1;
Counter:= 1;
aString:= Trim(aString);
while( Counter < Length(aString) )do
begin
if (aString[Counter] = ' ') and (aString[Counter+1] = ' ') then
begin
LastStirng:= LastStirng + copy(aString, Start, Counter - Start+1);
while aString[Counter] = ' ' do
Counter := Counter + 1;
Start:= Counter;
end;
Counter:= Counter +1;
end;
LastStirng:= LastStirng + copy(aString, Start, Length(aString) - Start+1);
Result:= LastStirng;
end;