Mahmood_M
دوشنبه 21 خرداد 1386, 00:49 صبح
به نام خدا ...
قصد داریم در طی یک مقاله کوتاه روشها و چگونگی استفاده از روشهای دستکاری رشته ها را بررسی کنیم ...
در برنامه نویسی امروز ، دستکاری و تغییر رشته ها ، یکی از چیزهایی است که هر برنامه نویسی باید بداند ...
توابعی که در این مقاله بررسی می کنیم :
[1]Copy(S:<String or Dynamic array>; Index; Count:Integer);
[2]Pos(Substr:String; S:String);
[3]Delete(var S:String; Index:Integer; Count:Integer);
[4]Length(S:String);
[5]Uppercase(S:String);
[6]LowerCase(S:String);
[7]Trim(S:String);
1. تابع Copy :
این تابع مقدار مشخصی از یک رشته را برمی گرداند ... ( خروجی این تابع یک مقدار String است )
این تابع 3 پارامتر دارد :
S : مقدار رشته اصلی
Index : نقطه شروع کپی برداری
Count : تعداد حروف برای کپی برداری
مثال :
فرض میکنیم رشته ای با مقدار " Mahmood " داریم و میخواهیم ، مقدار Mahm را از این رشته انتخاب نموده و در یک متغیر قرار دهیم ...
برای این کار تابع Copy را به صورت زیر به کار می بریم :
Copy('Mahmood', 1, 4);
همانطور که مشخص است ، در این تابع نقطه شروع کپی برداری برابر با 1 یعنی حرف M و تعداد حروف برای کپی برداری هم برابر با 4 است که حروف تا حرف " m " کپی می شوند ...
توجه کنید که برای گرفتن رشته حاصل از این تابع باید یک متغیر را برابر با آن قرار دهید ، مثال :
S := Copy('Mahmood', 1, 4);
در کد بالا S یک متغیر String است و مقدار "Mahm" را خواهد گرفت ...
2. تابع Pos :
این تابع موقعیت یک حرف ( یا یک رشته کوچک ) در یک رشته را مشخص مینماید ... ( خروجی این تابع یک مقدار Integer است )
این تابع 2 پارامتر دارد :
Substr : مقدار حرف یا رشته ای که قصد فهمیدن موقعیت آن را داریم
S : مقدار رشته ای که حرف یا رشته ما در آن وجود داشته و باید موقعیت حرف مورد نظر ما در آن مشخص شود
توجه :
منظور از موقعیت این است که مثلا حرف مورد نظر ما چندمین حرف رشته اصلی است
اگر حرف مورد نظر ما در رشته اصلی موجود نباشد ، این تابع مقدار 0 را برمی گرداند
مثال :
فرض کنیم که میخواهیم بفهمیم در رشته ای با مقدار " Mahmood " حرف " a " چندمین حرف است ...
بدین منظور تابع Pos را به صورت زیر به کار می بریم :
Pos('a', 'Mahmood');
برای این که مقدار این تابع را به دست آورید باید یک متغیر از نوع Integer را برابر با آن قرار دهید ...
نکات مهم :
اگر در این تابع و در پارامتر اول یک رشته چند حرفی وارد نمایید ، این تابع ، موقعیت حرف اول رشته وارد شده شما را بررسی میکند
این تابع به حروف کوچک و بزرگ حساس است
اگر دو حروف مانند هم ( از نظر بزگی یا کوچکی ) در رشته اصلی وجود داشته باشد و ما بخواهیم موقعیت آن حرف را پیدا کنیم ، موقعیت اولین حرف از این تابع برگردانده خواهد شد
بهتر است برای نکات بالا چند مثال زده شود :
نکته اول : فرض کنیم که در این تابع و در پارامتر اول شما حروف " Ma " را وارد می نمایید ، و میخواهید موقعیت آن را در رشته ای با مقدار " Mahmood " بدست آورید ، در این صورت مقدار برگشتی تابع Pos ، موقعیت حرف M در رشته اصلی ( " Mahmood " ) خواهد بود ...
نکته دوم : اگر در رشته اصلی شما دو حرف ضبیه به هم وجود داشته باشند ولی از نظر بزرگی و حروفی متفاوت باشند ( مثلا در رشته " Mahmood " ، دو حرف "M" و "m" وجود دارند ) ، در این صورت اگر در پارامتر اول تابع Pos ، مقدار "m" را وارد نمایید ، تابع موقعیت حرف M را مشخص نخواهد کرد و موقعیت حرف "m" که بعد از "M" وجود دارد را مشخص می نماید ...
نکته سوم : اگر ما رشته "Mahmood" را به صورت "MahMood" در تابع Pos به عنوان رشته اصلی به کار ببریم و بخواهیم موقعیت حرف "M" را مشخص نماییم ، تابع Pos موقعیت اولین حرف "M" را مشخص مینماید ...
3. تابع Delete :
این تابع حرف یا حروف مشخصی را از یک رشته حذف کرده و مقدار رشته باقی مانده را برمیگرداند ( خروجی این تابع یک مقدار String است )
توجه کنید که نمی توانید متغیری را برابر با این تابع قرار دهید ، این تابع تنها حروف مورد نظر را از رشته اصلی حذف مینماید و مقدار رشته ای که به پارامتر اول تابع میدهیم ، بعد از انجام این تابع ، همان مقدار برگشتی تابع خواهد بود ...
این تابع 3 پارامتر دارد :
S : مقدار رشته اصلی
Index : نقطه شروع حروفی که باید حذف شوند
Count : تعداد حروفی که باید حذف شوند
نکته مهم :
در پارامتر اول این رشته نمی توانید مستقیما یک رشته را قرار دهید و باید یک متغیر از نوع رشته را قرار دهید !
مثال :
فرض کنیم میخواهیم از رشته ای با مقدار " Mahmood " ، حروف "ood" را حذف نماییم ...
ابتدا باید یک متغیر از نوع رشته تعریف کنیم ، سپس ، مقدار متغیر را برابر با "Mahmood" قرار دهیم ، سپس تابع Delete را استفاده نماییم ، به صورت زیر :
var
S : String;
begin
S := 'Mahmood';
Delete(S, 5, 3);
در تابع Delete ، در بالا و در پارامتر دوم ، مقدار 5 که موقعیت حرف "o" است و در پارامتر دوم مقدار 3 که تعداد حروف حذف شونده است قرار گرفته اند ... ، بعد از اجرای این دستورات ، متغیر S ، مقدار "Mahm" را خواهد داشت ...
4. تابع Length :
این تابع ، تعداد حروف یک رشته را برمیگرداند ( خروجی این تابع یک مقدار Integer است )
برای گرفتن مقدار این تابع باید یک متغیر از نوع Integer را برابر با آن قرار دهید ...
مثال :
Length('Mahmood');
مقدار برگشتی تابع بالا مقدار 7 خواهد بود که تعداد حروف تشکیل دهنده رشته "Mahmood" است.
5. تابع UpperCase :
این تابع ، مقدار یک رشته را به صورت حروف بزرگ بر میگرداند ...
مثال :
UpperCase('Mahmood');
تابع بالا مقدار "MAHMOOD" را برمی گرداند ...
برای گرفتن مقدار این تابع باید یک متغیر از نوع String را برابر با آن قرار دهید ...
6. تابع LowerCase :
این تابع ، مقدار یک رشته را به صورت حروف کوچک برمیگرداند ...
مثال :
LowerCase('MAHMOOD');
تابع بالا مقدار "mahmood" را برمی گرداند ...
برای گرفتن مقدار این تابع باید یک متغیر از نوع String را برابر با آن قرار دهید ...
7. تابع Trim :
این تابع ، جاهای خالی اطراف رشته را از بین می برد ، درواقع کارکتر " ' ' " ( فاصله ) را از دو طرف یک رشته حذف میکند ...
مقدار برگشتی این تابع ، همان مقدار داده شده به آن است اما بدون کارکتر فاصله در اطراف آن ...
مثال :
فرض میکنیم رشته ای با مقدار " Mahmood " داریم ( اطراف متن فاصله وجود دارد ) و میخواهیم فاصله ها را حذف نماییم ، برای این کار تابع Trim را به صورت زیر به کار می بریم :
Trim(' Mahmood ');
مقدار برگشتی تابع بالا "Mahmood" است ...
توجه کنید که این تابع کارکتر فاصله ای که در وسط یک عبارت باشد را حذف نخواهد کرد ...
نکته در مورد این تابع این است که توابع مشابه ای به نامهای TrimLeft و TrimRight وجود دارند که به ترتیب ، کارکترهای فاصله را از سمت چپ و راست یک عبارت حذف می نمایند ...
پایان ...
امیدوارم مفید بوده باشه ...
موفق باشید ...
قصد داریم در طی یک مقاله کوتاه روشها و چگونگی استفاده از روشهای دستکاری رشته ها را بررسی کنیم ...
در برنامه نویسی امروز ، دستکاری و تغییر رشته ها ، یکی از چیزهایی است که هر برنامه نویسی باید بداند ...
توابعی که در این مقاله بررسی می کنیم :
[1]Copy(S:<String or Dynamic array>; Index; Count:Integer);
[2]Pos(Substr:String; S:String);
[3]Delete(var S:String; Index:Integer; Count:Integer);
[4]Length(S:String);
[5]Uppercase(S:String);
[6]LowerCase(S:String);
[7]Trim(S:String);
1. تابع Copy :
این تابع مقدار مشخصی از یک رشته را برمی گرداند ... ( خروجی این تابع یک مقدار String است )
این تابع 3 پارامتر دارد :
S : مقدار رشته اصلی
Index : نقطه شروع کپی برداری
Count : تعداد حروف برای کپی برداری
مثال :
فرض میکنیم رشته ای با مقدار " Mahmood " داریم و میخواهیم ، مقدار Mahm را از این رشته انتخاب نموده و در یک متغیر قرار دهیم ...
برای این کار تابع Copy را به صورت زیر به کار می بریم :
Copy('Mahmood', 1, 4);
همانطور که مشخص است ، در این تابع نقطه شروع کپی برداری برابر با 1 یعنی حرف M و تعداد حروف برای کپی برداری هم برابر با 4 است که حروف تا حرف " m " کپی می شوند ...
توجه کنید که برای گرفتن رشته حاصل از این تابع باید یک متغیر را برابر با آن قرار دهید ، مثال :
S := Copy('Mahmood', 1, 4);
در کد بالا S یک متغیر String است و مقدار "Mahm" را خواهد گرفت ...
2. تابع Pos :
این تابع موقعیت یک حرف ( یا یک رشته کوچک ) در یک رشته را مشخص مینماید ... ( خروجی این تابع یک مقدار Integer است )
این تابع 2 پارامتر دارد :
Substr : مقدار حرف یا رشته ای که قصد فهمیدن موقعیت آن را داریم
S : مقدار رشته ای که حرف یا رشته ما در آن وجود داشته و باید موقعیت حرف مورد نظر ما در آن مشخص شود
توجه :
منظور از موقعیت این است که مثلا حرف مورد نظر ما چندمین حرف رشته اصلی است
اگر حرف مورد نظر ما در رشته اصلی موجود نباشد ، این تابع مقدار 0 را برمی گرداند
مثال :
فرض کنیم که میخواهیم بفهمیم در رشته ای با مقدار " Mahmood " حرف " a " چندمین حرف است ...
بدین منظور تابع Pos را به صورت زیر به کار می بریم :
Pos('a', 'Mahmood');
برای این که مقدار این تابع را به دست آورید باید یک متغیر از نوع Integer را برابر با آن قرار دهید ...
نکات مهم :
اگر در این تابع و در پارامتر اول یک رشته چند حرفی وارد نمایید ، این تابع ، موقعیت حرف اول رشته وارد شده شما را بررسی میکند
این تابع به حروف کوچک و بزرگ حساس است
اگر دو حروف مانند هم ( از نظر بزگی یا کوچکی ) در رشته اصلی وجود داشته باشد و ما بخواهیم موقعیت آن حرف را پیدا کنیم ، موقعیت اولین حرف از این تابع برگردانده خواهد شد
بهتر است برای نکات بالا چند مثال زده شود :
نکته اول : فرض کنیم که در این تابع و در پارامتر اول شما حروف " Ma " را وارد می نمایید ، و میخواهید موقعیت آن را در رشته ای با مقدار " Mahmood " بدست آورید ، در این صورت مقدار برگشتی تابع Pos ، موقعیت حرف M در رشته اصلی ( " Mahmood " ) خواهد بود ...
نکته دوم : اگر در رشته اصلی شما دو حرف ضبیه به هم وجود داشته باشند ولی از نظر بزرگی و حروفی متفاوت باشند ( مثلا در رشته " Mahmood " ، دو حرف "M" و "m" وجود دارند ) ، در این صورت اگر در پارامتر اول تابع Pos ، مقدار "m" را وارد نمایید ، تابع موقعیت حرف M را مشخص نخواهد کرد و موقعیت حرف "m" که بعد از "M" وجود دارد را مشخص می نماید ...
نکته سوم : اگر ما رشته "Mahmood" را به صورت "MahMood" در تابع Pos به عنوان رشته اصلی به کار ببریم و بخواهیم موقعیت حرف "M" را مشخص نماییم ، تابع Pos موقعیت اولین حرف "M" را مشخص مینماید ...
3. تابع Delete :
این تابع حرف یا حروف مشخصی را از یک رشته حذف کرده و مقدار رشته باقی مانده را برمیگرداند ( خروجی این تابع یک مقدار String است )
توجه کنید که نمی توانید متغیری را برابر با این تابع قرار دهید ، این تابع تنها حروف مورد نظر را از رشته اصلی حذف مینماید و مقدار رشته ای که به پارامتر اول تابع میدهیم ، بعد از انجام این تابع ، همان مقدار برگشتی تابع خواهد بود ...
این تابع 3 پارامتر دارد :
S : مقدار رشته اصلی
Index : نقطه شروع حروفی که باید حذف شوند
Count : تعداد حروفی که باید حذف شوند
نکته مهم :
در پارامتر اول این رشته نمی توانید مستقیما یک رشته را قرار دهید و باید یک متغیر از نوع رشته را قرار دهید !
مثال :
فرض کنیم میخواهیم از رشته ای با مقدار " Mahmood " ، حروف "ood" را حذف نماییم ...
ابتدا باید یک متغیر از نوع رشته تعریف کنیم ، سپس ، مقدار متغیر را برابر با "Mahmood" قرار دهیم ، سپس تابع Delete را استفاده نماییم ، به صورت زیر :
var
S : String;
begin
S := 'Mahmood';
Delete(S, 5, 3);
در تابع Delete ، در بالا و در پارامتر دوم ، مقدار 5 که موقعیت حرف "o" است و در پارامتر دوم مقدار 3 که تعداد حروف حذف شونده است قرار گرفته اند ... ، بعد از اجرای این دستورات ، متغیر S ، مقدار "Mahm" را خواهد داشت ...
4. تابع Length :
این تابع ، تعداد حروف یک رشته را برمیگرداند ( خروجی این تابع یک مقدار Integer است )
برای گرفتن مقدار این تابع باید یک متغیر از نوع Integer را برابر با آن قرار دهید ...
مثال :
Length('Mahmood');
مقدار برگشتی تابع بالا مقدار 7 خواهد بود که تعداد حروف تشکیل دهنده رشته "Mahmood" است.
5. تابع UpperCase :
این تابع ، مقدار یک رشته را به صورت حروف بزرگ بر میگرداند ...
مثال :
UpperCase('Mahmood');
تابع بالا مقدار "MAHMOOD" را برمی گرداند ...
برای گرفتن مقدار این تابع باید یک متغیر از نوع String را برابر با آن قرار دهید ...
6. تابع LowerCase :
این تابع ، مقدار یک رشته را به صورت حروف کوچک برمیگرداند ...
مثال :
LowerCase('MAHMOOD');
تابع بالا مقدار "mahmood" را برمی گرداند ...
برای گرفتن مقدار این تابع باید یک متغیر از نوع String را برابر با آن قرار دهید ...
7. تابع Trim :
این تابع ، جاهای خالی اطراف رشته را از بین می برد ، درواقع کارکتر " ' ' " ( فاصله ) را از دو طرف یک رشته حذف میکند ...
مقدار برگشتی این تابع ، همان مقدار داده شده به آن است اما بدون کارکتر فاصله در اطراف آن ...
مثال :
فرض میکنیم رشته ای با مقدار " Mahmood " داریم ( اطراف متن فاصله وجود دارد ) و میخواهیم فاصله ها را حذف نماییم ، برای این کار تابع Trim را به صورت زیر به کار می بریم :
Trim(' Mahmood ');
مقدار برگشتی تابع بالا "Mahmood" است ...
توجه کنید که این تابع کارکتر فاصله ای که در وسط یک عبارت باشد را حذف نخواهد کرد ...
نکته در مورد این تابع این است که توابع مشابه ای به نامهای TrimLeft و TrimRight وجود دارند که به ترتیب ، کارکترهای فاصله را از سمت چپ و راست یک عبارت حذف می نمایند ...
پایان ...
امیدوارم مفید بوده باشه ...
موفق باشید ...