-
حذف فاصله بین کلمات
با سلام
راهنمائی می خواهم در مورد یک ابزاری آماده که بتوان با آن فاصله موجود ما بین یک یا چند کلمه فارسی را حذف نمود با در نظر گرفتن اینکه حروف به هم دیگر نچسبد. یعنی آنجائی که حروف به هم دیگر می چشبد را حذف نکند. مثلا در کلمه( حسین علی) فاصله مابین حسین و علی را حذف نکند
-
خب اول فاصه رو پیدا کن ، بعد حرف قبل و بعد از فاصله رو چک کن و در صورت وجود داشتن شرایط فاصله رو حذف کن ، مشکل کجاس؟
-
function DelSpace(isString:String):String;
begin
while Pos(' ',isString) > 0 do
Delete(isString,Pos(' ',isString),1);
DelSpace:=isString;
end;
-
اون چیزی که من از این نوشتت میفهمم اینه که میخوای هرجا 2 تا فاصله یا بیشتر بود بکندش 1 فاصله درسته ؟ چون معمولا کلمه ها با فاصله بعدشون شناخته میشوند و کامپیوتر که نمیتونه معنایی کلمه رو پیدا کنه.
اگر غیر از اینه با مثال بگو مثلا چی؟
-
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;