מה ההבדל בין String.slice ל-String.substring?

Mh Hhbdl Byn String Slice L String Substring



למיתרים תפקיד מכריע בעולם התכנות. אלה שימושיים בזמן שהמתכנת מתקשר את המידע עם המשתמש בתוכנית. לפעמים, יש צורך לאחזר את החלק/הפרוסה הספציפית של המחרוזת. JavaScript מספק שיטות שונות למטרה זו כולל ' string.slice()' ו-'string.substring() ' שיטות.

הפוסט הזה יסביר:







מה זה String.slice() ב-JavaScript?

ה ' פרוסה() ' הפונקציה בוחרת חלק ממחרוזת ואז מאחזרת את החלק הזה כמחרוזת חדשה. החלק שחולץ מוגדר באמצעות פרמטרי ההתחלה והסיום. כדי להשתמש בשיטה זו, בצע את התחביר המצוין להלן:



חוּט. פרוסה ( startIndex , EndIndex )

דוגמא:

בדוגמה המוצהרת הזו, צור אובייקט והעבירי מחרוזת מסוימת כערך של המשתנה המוגדר:



לתת מחרוזת = 'לינוקס'

הנה ה ' פרוסה() שיטת ' מופעלת עם האינדקס ההתחלתי בתור ' 5 ' ואינדקס הסיום בתור ' 9 '. הוא יבחר את פרוסת המחרוזת לפי הטווח הנקוב ויאחסן אותה במשתנה אחר:





stringSlice = חוּט. פרוסה ( 5 , 9 )

קרא את ' console.log() ” שיטה ומעבירים את המשתנה שבו מאוחסנת פרוסת המחרוזת כדי להציג את התוצאה במסוף:

לְנַחֵם. עֵץ ( stringSlice )

כתוצאה מכך, פרוסת המחרוזת מודפסת על המסוף:



מה זה String.substring() ב-JavaScript?

דומה ל ' פרוסה() ' שיטה, ' Substring() ' יש גם את התחביר הדומה ב-JavaScript. ה ' substring() ' השיטה בוחרת קטע של מחרוזת כדי להפוך אותו למחרוזת חדשה ולאחר מכן מחזירה אותו. החלק המאוחזר של המחרוזת מוגדר בעזרת פרמטרי התחלה וסיום:

בוהה. מחרוזת משנה ( startIndex , EndIndex )

דוגמא

כדי לקבל את המחרוזת משנה ממחרוזת גדולה, ה-JavaScript ' substring() ניתן להשתמש בשיטה. לשם כך, צור אובייקט ואחסן בו מחרוזת:

לתת מחרוזת = 'Linuxhint הוא אתר ההדרכה הטוב ביותר'

לאחר מכן, הפעל את ' substring() ' השיטה והגדר את אינדקס ההתחלה והסיום כדי לקבל את המחרוזת המשנה ממחרוזת:

מחרוזת משנה = חוּט. מחרוזת משנה ( 5 , 17 )

לבסוף, העבר את אובייקט המחרוזת המשנה לשיטת 'console.log()' כדי להציג את הפלט:

לְנַחֵם. עֵץ ( מחרוזת משנה )

ניתן לראות שמחרוזת המשנה מוצגת בקונסולה:

שתי השיטות מחזירות מחרוזת ריקה אם ההתחלה והעצור שווים. על ידי הסרת פרמטר העצירה, שתי הפונקציות יאחזרו תווים עד סוף המחרוזת. אם הפרמטר שצוין חורג מאורך המחרוזת, ייעשה שימוש באורך המקורי של המחרוזת.

להבדיל בין String.slice() לבין String.substring()?

כמה מההבחנות החשובות בין הפונקציות המוצהרות מפורטות להלן:

String.slice() String.substring()
העוקץ. שיטת slice()' מופעלת לחילוץ החלק של המחרוזת. שיטת 'string.substring()' משמשת לאחזור המחרוזת המשנה במחרוזת.
המחרוזת תוחזר ריקה אם אינדקס ההתחלה שלילי ואינדקס הסיום חיובי. זה מחליף את שני הפרמטרים אחד עם השני אם ההתחלה גדולה מהעצירה.
אם ההתחלה שלילית, הוא מגדיר char מסוף המחרוזת, כמו 'substr()'. כל ארגומנט שלילי או NaN ייחשב כ-0.

על פי ההבדלים העיקריים הנדונים בהצהרה השנייה והשלישית, נבדוק כעת כמה דוגמאות. בדוגמאות אלה, נעביר מדד שלילי אחד כהתחלה לשני ה' פרוסה() ', ו' substring() ” שיטות ומדד חיובי כמדד הסיום.

דוגמה 1: העברת מדד שלילי אחד (כאינדקס התחלתי) ואינדקס סיום חיובי

בואו נעביר ערך שלילי אחד כאינדקס ההתחלה ואינדקס חיובי אחד כאינדקס הסוף לשיטת slice() . כתוצאה מכך, הפונקציה המוצהרת תחזיר מחרוזת ריקה:

const משפט = 'Linuxhint הוא אתר מאוד שימושי' ;
משפט. פרוסה ( - 7 , 5 ) ;

כתוצאה מכך, המחרוזת הריקה מוצגת כפלט בקונסולה:

מצד שני, ב' substring() ', אם ערך שלילי אחד יעבור כמדד ההתחלה וערך חיובי אחד יעבור כמדד הסיום, הוא יחשב את מדד ההתחלה כ' 0 ' ולהחזיר את המחרוזת המשנה לאינדקס הסיום:

const משפט = 'Linuxhint הוא אתר מאוד שימושי' ;

משפט. מחרוזת משנה ( - 7 , 5 ) ;

כתוצאה מכך, הפלט מוצג במסוף:

דוגמה 2: העברת מדד שלילי אחד בלבד

ראשית, ניצור אובייקט מסוג קבוע בשם ' משפט 'ותעביר את המחרוזת:

const משפט = 'Linuxhint הוא אתר מאוד שימושי' ;

השתמש ב' פרוסה() ” שיטה ומעבירים אינדקס שלילי יחיד כדי לקבל את החלק של המחרוזת מקצה המחרוזת:

משפט. פרוסה ( - 7 ) ;

ניתן לראות שתת המחרוזת מקצה המחרוזת מוחזרת כחלק מהמחרוזת:

עם זאת, אם נעביר את אותו ערך שלילי כמו הטיעון של ' substring() ' שיטת זה יחזיר את אותה מחרוזת כמו פלט:

const משפט = 'Linuxhint הוא אתר מאוד שימושי' ;
משפט. מחרוזת משנה ( - 7 ) ;

זה הכל על String.slice, String.substring וההבדל ביניהם ב-JavaScript.

סיכום

ה ' string.slice() ' ו' string.substring() ' שניהם משמשים לאחזור החלק של המחרוזת ממחרוזת מוגדרת. אבל ההבדל העיקרי בין שתי השיטות הללו הוא ' string.slice() ' השיטה תחזיר מחרוזת ריקה אם אינדקס ההתחלה גדול מהעצירה. מצד שני, ' string.substring() ' מחליף את שני הפרמטרים אם ההתחלה גדולה מהעצירה. פוסט זה ציין את ההבדל בין ' String.Slice ' ו' חוּט. מחרוזת משנה ' תוך שימוש בדוגמאות מעשיות.