درمورد تابع trim، وقتی که یه مقداری بهش میدیم مثلا "abc" رو، میاد ابتدا و اخر رشته این کلمه رو حذف میکنه یا اول میاد اول و اخر a رو حذف میکنه، بعدش اول و آخر b رو حذف میکنه و ...؟
این بررسی و حذفه به صورت کلمه ای هست یا کاراکتری؟
سلام
این تابع با توجه به کارکتری که ما بهش میدید از اول و اخر اون رشتتون حذفش میکنه به مثال توجه کنید :
trim("/test/",'/');
test
این تابع و دو تابع rtrim , ltrim کارشون حذف کاراکتری که شما بهشون میگین r یعنی راست و l یعنی چپ رو حذف کن
میثم۲۹ آبان ۱۳۹۹، ۲۱:۱۵
بله میدونم، اینکه یه مسال بدیهیشه، ولی استاد توی دوره مثالی که زدن این بود:
trim("VAHID SALI", "VHI") = AHID SALE
که وقتی به ورودی و خروجی دقت کنیم میبینم که میاد کاراکتر به کاراکتر رو بررسی و حذف میکنه، یعنی اول v رو از دو طرف حذف کرده، بعدش H و بعدش I!
پس کلمه VHI رو مثلا از اول و اخر بر نمیداره و کاراکتر به کاراکتر شرط رو در رشته بررسی میکنه، درسته؟
امیر ابوئی۲۹ آبان ۱۳۹۹، ۲۱:۲۲
ببینین این تابع کلا اون چیزی که شما بهش میدین رو میره پیدا میکنه داخل رشتتون و حذفش میکنه این نیست که بگین کاراکتر به کاراکتر میره جلو و دونه به دونه حذف میکنه توی رشته جستجو میکنه و اون چیزی که دادین رو پیدا کرد حذف میکنه از اول و اخر اون استرینگتون یعنی اگر وسط باشه نمیره وسط رو حذف کنه و اگر کاراکتری بهش ندین برای حذف یکسری عبارات از پیش تعیین شده و یا فضای خالی رو حذف میکنه
کاراکتر هایی که حذف میکنه اگه پارامتر دوم خالی باشه :
"\0" - NULL
"\t" - tab
"\n" - new line
"\x0B" - vertical tab
"\r" - carriage return
" " - ordinary white space
میثم۲۹ آبان ۱۳۹۹، ۲۱:۳۴
درست متوجه شدید این تابع دونه دونه هر حرف رو میگیره و اگه اول یا اخر استرینگ باشه اون حرف رو حذف میکنه
پس برای همینه که VIM رو از اول و I رو از اخر حذف میکنه
بهترین پاسخ
میثم۲۹ آبان ۱۳۹۹، ۲۳:۳۰
به نظر اونچیزی جناب ابوئی در ابتدا گفتن درستتر باشه، یعنی این تابع میاد و پارامتر ورودیش رو بصورت کاراکتر به کاراکتر از سمت راست و چپ بررسی میکنه و حذف رو انجام میده. تفاوتی نداره که کاراکتری که میخوایم از رشته حذف کنیم رو در کجای پارامتر ورودی قرار بدیم، مثلا میشه کاراکتر مدنظر رو در وسط چندتا حرف دیگه گذاشت. مثلا در رشته پائینی اصلا ترتیب رعایت نشده، و تابع کاراکترهای پارامتر ورودیش رو یکی یکی بررسی و هر کدوم که در ابتدا یا انتها قرار داشته باشه رو حذف میکنه.!!