از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
چگونه فضاهای سفید/شخصیتها را از یک رشته در جاوا اسکریپت برش دهید از آنجایی که قصد دارید توسعهدهنده جاوا اسکریپت بهتری شوید، بهتر است برخی از ترفندها و روشهای جاوا اسکریپت را درک کنید تا شما را از اشکالات غیرضروری که به سختی رمزگشایی میشوند در آینده نجات دهید. هر زمان که کاربران مقادیر رشته را از طریق فیلدهای فرم وارد می کنند، تمرین خوبی است که شما فاصله های سفید را حذف کنید…
سرفصلهای مطلب
معرفی
از آنجایی که قصد دارید یک توسعهدهنده بهتر جاوا اسکریپت شوید، بهتر است برخی از ترفندها و روشها را در جاوا اسکریپت درک کنید تا در آینده شما را از اشکالات غیرضروری که به سختی رمزگشایی میشوند، نجات دهید. هر زمان که کاربران مقادیر رشته را از طریق فیلدهای فرم وارد می کنند، تمرین خوبی برای شما است که فاصله های سفید را از ابتدا و انتهای رشته ها و همه کاراکترهای غیر ضروری حذف کنید. ورودی به ندرت تمیز است و ورودی ناپاک در برخی موارد می تواند یک برنامه را خراب کند.
در این راهنما، روش های مختلف را بررسی خواهیم کرد روی روش برش کاراکترها از رشته ها در جاوا اسکریپت و همچنین زمان استفاده از آن.
حذف فضاهای سفید از رشته ها
فضای سفید به عنوان یک فضای خالی تعریف می شود، یعنی فضایی بدون نمایش بصری، اما فضایی که برای جدا کردن دو کاراکتر وجود دارد. این کاراکترهای فضای خالی با استفاده از صفحه کلید کامپیوتر ایجاد می شوند نوار Space و زبانه هاو همچنین کاراکترهای شکست خط یا پایان دهنده های خط مانند \n
، \t
، \r
.
توجه داشته باشید: پیرایش یک رشته معمولاً به آن اشاره دارد پیرایش سمت چپ، راست یا معمولاً هر دو طرف یک رشته. معمولاً فضای خالی بالقوه اطراف رشته را کوتاه میکنیم، اما میتوانیم کاراکترهای دیگر را نیز برش دهیم.
جاوا اسکریپت سه عملکرد را برای کمک به ما در برش رشته هایی که از فیلدهای ورودی به پایگاه داده یا برنامه ما وارد می شوند، ارائه می دهد.
برش فضای سفید رشته در جاوا اسکریپت با trim()
trim()
یک روش رشته داخلی است که برای کوتاه کردن یک رشته استفاده می شود. متد فضای خالی را از هر دو انتهای رشته حذف می کند و آن را برمی گرداند:
string.trim();
بیایید یک را ایجاد کنیم username
– با یک فضای سفید دوتایی در ابتدا و یک فضای سفید تکی در پایان:
let username = ' John Doe ';
let trimmed = username.trim();
console.log(trimmed);
این منجر به:
John Doe
trim()
در جای خود کار نمی کند، زیرا رشته ها تغییر ناپذیر هستند. یک رشته کوتاه شده را برمی گرداند – بنابراین ما مقدار بازگشتی را گرفته و آن را چاپ کرده ایم.
توجه داشته باشید: اگر فاصله بین دو کاراکتر یافت شود، فضای خالی حفظ می شود. آنها فقط از شروع کنید و پایان از یک رشته
این روش همچنین برای حذف پایانه های خط مانند \n
، \t
، \r
و غیره. به عنوان مثال، بگویید یک چیز بد وجود دارد برگه درست قبل از شماره سریال و الف خط جدید بعد از آن شکستن:
let serialNumber = '\t 011-34201 \n';
console.log('Untrimmed: ', serialNumber)
console.log('Trimmed: ', serialNumber.trim());
این منجر به:
Untrimmed: 011-34201
Trimmed: 011-34201
از نو، trim()
با حذف فضای خالی از هر دو طرفین با این حال، گاهی اوقات، ممکن است بخواهید به جای آن فقط یکی از طرفین را کوتاه کنید. این جایی است که شما ترجیح می دهید از آن استفاده کنید trimStart()
و trimEnd()
روش ها در عوض
برش شروع رشته با trimStart()
شبیه به trim()
روش و درست همانطور که از نامش پیداست، trimStart()
برای برش دادن فضای خالی و پایان دهنده های خط فقط از ابتدای رشته استفاده می شود. برای مثال:
let company = ' رسانگار ';
company.trimStart(); // 'رسانگار '
let serialNumber = '\t 011-34201 \n';
serialNumber.trimStart(); // '011-34201 \n'
در مثال بالا متوجه خواهید شد که فضای ابتدای نام شرکت حذف شده است. همین منطق در مورد خط جدید هنوز هم در حال حاضر صدق می کند serialNumber
.
انتهای رشته را با trimEnd()
trimEnd()
نقطه مقابل قطبی است trimStart()
روش و همانطور که از نامش پیداست، برای برش دادن فضای خالی و پایاندهندههای خط فقط از انتهای یک رشته استفاده میشود. برای مثال:
let company = ' رسانگار ';
company.trimEnd(); // ' رسانگار'
let serialNumber = '\t 011-34201 \n';
serialNumber.trimEnd(); // '\t 011-34201'
در مثال بالا، متوجه خواهید شد که به جای تاثیرگذاری روی شروع مانند شروع trimStart()
، انتهای آن با حذف فضا و همچنین پایان دهنده خط تحت تأثیر قرار گرفت.
تمام فضای خالی را از رشته ها برش دهید
در حال حرکت روی، بیایید ببینیم که چگونه با استفاده از عبارات منظم، تمام فضای خالی را برش دهیم. تا کنون ما فقط روش حذف فضای خالی را از ابتدا یا انتهای رشته های خود دیده ایم – بیایید اکنون روش حذف را ببینیم. همه فضای سفید.
این کار با استفاده از جاوا اسکریپت امکان پذیر است string.replace()
متد، که از عبارتهای منظم (RegEx) پشتیبانی میکند و به یافتن موارد منطبق در یک رشته خاص کمک میکند. replace()
دو آرگومان می گیرد، اولی عبارت Regular است که با چیزی که می خواهیم حذف کنیم مطابقت دارد و دومی الگویی است که می خواهیم به جای اولی درج کنیم.
اگر میخواهید درباره عبارات با قاعده بیشتر بخوانید – راهنمای ما برای عبارات منظم و رشتههای تطبیق در جاوا اسکریپت را بخوانید!
بیایید اکنون یک عبارت منظم بسازیم تا تمام فضای خالی از رشته ها را حذف کنیم:
\s
: با هر علامت فضای خالی مانند فاصله ها، برگه ها و شکاف های خط مطابقت دارد.+
: با یک یا چند نشانه قبلی مطابقت دارد (ارجاع\s
).g
: در پایان برای نشان دادن جستجوی تکراری در سراسر رشته کامل قرار داده شده است.
اکنون بیایید این RegEx را با هم ترکیب کنیم و از آن برای حذف فضای خالی داخل، قبل و بعد رشته ها استفاده کنیم:
let sentence = ' I and the man decided to move ouT ';
let trimmed = sentence.replace(/\s+/g, ''); // 'IandthemandecidedtomoveouT'
console.log('Untrimmed: ', sentence)
console.log('Trimmed: ', trimmed);
این منجر به:
Untrimmed: I and the man decided to move ouT
Trimmed: IandthemandecidedtomoveouT
در مثال بالا، کاراکترهای فضای خالی را برداشتیم و آنها را با یک رشته خالی جایگزین کردیم.
کاراکترهای دلخواه را با جاوا اسکریپت برش دهید
هنگام استفاده از عبارات منظم، و string.replace()
روش – شما محدود به کوتاه کردن فضای خالی نیستید. شما واقعاً می توانید هر کدام را اصلاح کنید الگو، و الگوهای بیان منظم کاملاً منعطف هستند.
ما فقط باید بسته به یک عبارت RegEx خاص استخراج کنیم روی کاراکترهای دلخواه که می خواهید کوتاه کنید. فرض کنید می خواهیم یک کاراکتر خاص را از ابتدا و یک کاراکتر دیگر را از انتهای یک رشته حذف کنیم:
let example = "cccccccccccccccccccccI know the manaaaaaaaaaaaaaaaaaaaa";
let show = example.replace(/c+/, "").replace(/a+$/, "");
console.log(show); // "I know the man"
یا میتوانیم هر الگوی دلخواه، مانند هر عددی را که بین آنها وجود دارد، کار کنیم 0
و 9
:
let example = "1234567890I know the man1234567890";
let show = example.replace(/^(0-9)+/, '').replace(/(0-9)+$/, '');
console.log(show); // "I know the man"
برش کاراکتر از یک شاخص خاص با جاوا اسکریپت
در نهایت، با توجه به یک شاخص خاص، می توان از یک روش رشته داخلی دیگر برای برش رشته ها استفاده کرد. این substr()
روش رشته های فرعی یک رشته، و زیر مجموعه را به عنوان یک رشته جدید برمی گرداند. برای استخراج قسمت های رشته بین شاخص شروع و پایان داده شده استفاده می شود.
برای حذف اولین کاراکتر از یک رشته – ما قطعش کن در شاخص 1
و پارامتر دوم را به عنوان length
از رشته:
let username = 'John Doe';
console.log('Original Name: ', username);
let newName = username.substr(1, username.length);
console.log('After removing the first character: ', newName);
این منجر به:
Original Name: John Doe
After removing the first character: ohn Doe
نتیجه
در این راهنما، ما نگاهی به روش برش فضای سفید از رشتهها انداختهایم – خواه از شروع، انتهای یا هر دو انتهای رشته، در جاوا اسکریپت.
ما کاوش کرده ایم trim()
، trimStart()
و trimEnd()
روش هایی که به طور خودکار فضای سفید را برش می دهند. سپس استفاده از عبارات با قاعده را برای جایگزینی الگوهای فضای خالی با رشته های خالی بررسی کردیم. علاوه بر این، ما جایگزینی هر الگوی دلخواه در رشته ها را با هر الگوی دیگری به جای آن بررسی کرده ایم.
در نهایت، نگاهی به آن انداخته ایم substr()
روش، برای زیر رشته و برش کاراکترها با یک داده start
و end
فهرست مطالب.
منتشر شده در 1403-01-12 12:39:03