פְּצִיחָה היא פעולה תכופה מאוד המבוצעת בעת קידוד. ישנן דרכים רבות לפצל מחרוזת בג'אווה, אך הדרך הנפוצה ביותר היא שימוש בשיטת פיצול מחרוזת (). מאמר זה מתמקד כיצד לפצל מחרוזות באמצעות שיטת פיצול ב .
להלן הנושאים הניתנים במאמר זה:
שיטת פיצול בג'אווה
ה כיתת מיתרים ב- Java מציע לְפַצֵל() שיטה בה ניתן לפצל מחרוזת ל- מַעֲרָך של אובייקטים מחרוזת המבוססים על תוחמים התואמים לביטוי רגולרי. לדוגמה, בהתחשב במחרוזת הבאה:
מחרוזת s = 'ברוך הבא, אל, אדוריקה!'
אתה יכול לפצל את המחרוזת למחרוזות משנה באמצעות פיסת הקוד הבאה:
מחרוזת [] תוצאה = s.split (',')
באופן מדויק יותר, ביטוי זה ישבור את המחרוזת למיתרי משנה בכל מקום שמפרידות בין מחרוזות תוחם תווים. בדוגמה שלעיל, מחרוזת הקלט 'ברוך הבא, אל, אדוריקה', מחולקת לשלושה אובייקטים מחרוזת, כלומר:
ברוך הבא ל אדוריקה!ישנן שתי גרסאות של שיטת split () ב- . בואו נדון בכל אחד מהם.
שימוש בשיטת split () ללא פרמטר מגבלה
גרסה זו של לְפַצֵל() השיטה מקבלת ביטוי רגולרי כפרמטר ושובר את המחרוזת הנתונה על סמך הביטוי הרגולרי regex . כאן מגבלת ברירת המחדל היא 0. ברשימה להלן התחביר, הפרמטר, ערך ההחזרה, נזרק והרבה תוכניות לדוגמא המדגימות את הרעיון.
אילו מהדברים הבאים הם דוגמאות להצהרות שליטה?
תחביר: מחרוזת ציבורית [] פיצול (מחרוזת regex)
פָּרָמֶטֶר: regex (ביטוי רגולרי תוחם)
ערך החזרה: מערך של S טרינג חפצים
יוצא מן הכלל: PatternSyntaxException , אם התחביר של הביטוי הרגולרי שסופק אינו חוקי
דוגמה 1: קורא a לְפַצֵל() שיטה על אובייקט מחרוזת - פיצול באמצעות פסיק
חבילה MyPackage class class Method1 {public static void main (String args []) {String str = 'אנחנו, באופן מגוחך, מחויבים!' מחרוזת [] arrOfStr = str.split (',') System.out.println ('מספר המצעים:' + arrOfStr.length) עבור (int i = 0 iתְפוּקָה
מספר המיתרים: 3 str [0]: אנחנו str [1]: מגוחך באופן [2]: מחויב!דוגמה 2: קורא a לְפַצֵל() שיטה על אובייקט מחרוזת - פיצול על ידי מרחב לבן
חבילה MyPackage class class Method2 {public static void main (String args []) {String str = 'אנחנו מחויבים עד כדי גיחוך! ברוך הבא 'מחרוזת [] arrOfStr = str.split (' ') System.out.println (' מספר המצעים: '+ arrOfStr.length) עבור (int i = 0 iתְפוּקָה
מספר המצעים: 4 str [0]: אנחנו str [1]: באופן מגוחך [2]: מחויבים! str [3]: ברוך הבאדוגמה 3: קורא a לְפַצֵל() שיטה על אובייקט מחרוזת - פיצול לפי נקודה
חבילה MyPackage class class שיטה 3 {public static void main (String args []) {String str = 'We're.Ridiculously.Committed.Welcome' String [] arrOfStr = str.split ('.') System.out.println ( 'מספר המצעים:' + arrOfStr.length) עבור (int i = 0 iתְפוּקָה
מספר המיתרים: 4 str [0]: אנחנו str [1]: מגוחך באופן [2]: str התחייב [3]: ברוך הבאדוגמה 4: קורא a לְפַצֵל() שיטה על אובייקט מחרוזת - פיצול באמצעות אות
חבילה MyPackage class class Method4 {public static void main (String args []) {String str = 'אנחנו מחויבים עד כדי גיחוך! ברוך הבא 'מחרוזת [] arrOfStr = str.split (' W ') System.out.println (' מספר המצעים: '+ arrOfStr.length) עבור (int i = 0 iתְפוּקָה
מספר המצעים: 3 str [0]: str [1]: e מחויבים באופן מגוחך! str [2]: בואדוגמה 5: קורא a לְפַצֵל() שיטה על אובייקט מחרוזת - פיצול על ידי מספר מפרידים
חבילה MyPackage class class Method5 {public static void main (String args []) {String str = 'אנחנו מחויבים עד כדי גיחוך! ברוך הבא ל- Eduerka.Hello 'מחרוזת [] arrOfStr = str.split (' [,.!] + ') System.out.println (' מספר המצעים: '+ arrOfStr.length) עבור (int i = 0 iתְפוּקָה
מספר המיתרים: 7 str [0]: אנחנו str [1]: מגוחך באופן [2]: str התחייב [3]: ברוך הבא [4]: str [5]: Eduerka str [6]: שלוםובכן, זה מספיק פשוט, נכון? אבל מה אםאתה זקוק רק לאלמנטים 'n' הראשונים לאחר פעולת הפיצול, אך ברצונך ששאר המחרוזת תישאר כפי שהיא? לשם כך, יש לנו גרסה אחרת של ה- s פליט () שיטה.
באמצעות שיטת split () עם ה- לְהַגבִּיל פָּרָמֶטֶר
נעשה שימוש בגרסה זו של שיטת split () כאשר אנו רוצים לפצל את המחרוזת למספר מוגבל של מחרוזות. ההבדל היחיד בין גרסה זו של שיטת split () לשנייה היא שהיא מגבילה את מספר המיתרים שהוחזרו לאחר הפיצול. ניתן לתת את המגבלה כפרמטר קלט ל- שיטת split (). פרמטר הגבול שולט במספר הפעמים שהתבנית מוחלת ולכן משפיע על אורך המערך שנוצר.
להלן מפורטים התחביר, הפרמטר, ערך ההחזר, החריגים שנזרקו והרבה תוכניות דוגמה המדגימות את הרעיון.
תחביר: מחרוזת ציבורית [] פיצול (מחרוזת regex, מגבלה int)
פָּרָמֶטֶר:
- regex - ביטוי רגולרי תוחם
- מגבלה - הסף שנוצר
המגבלה יכולה להכיל 3 ערכים שהם:
- מגבלה> 0: אם המגבלה חיובית, הדפוס יוחל לכל היותר על הגבלה אחת. טאורכו של המערך וכתוצאה מכך לא יהיה גדול מ- n, והערך האחרון של המערך יכיל את כל הקלט מעבר לתיחום המותאם האחרון.
- לְהַגבִּיל<0: אם המגבלה חיובית, הדפוס יוחל כמה שיותר פעמים והמערך המתקבל יכול להיות באורך כלשהו.
- מגבלה = 0: אם המגבלה שווה ל- 0, התבנית תוחל כמה שיותר פעמים, למערך המתקבל יכול להיות כל אורך אך המחרוזות הריקות הנגררות יימחקו.
ערך החזרה: מערך של חוּט אובייקטים המחושבים על ידי פיצול המחרוזת הנתונה על פי לְהַגבִּיל פָּרָמֶטֶר
יוצא מן הכלל: PatternSyntaxException , אם התחביר של הביטוי הרגולרי שסופק אינו חוקי
דוגמא: קורא a לְפַצֵל() שיטה על מחרוזת אובייקט עם לְהַגבִּיל פָּרָמֶטֶר
חבילה MyPackage מחלקה ציבורית SplitMethod {public public static void (String args []) {String str = '468-567-7388' String [] arrOfStr1 = str.split ('8', 2) System.out.println ('Output כאשר המגבלה היא + ve ') System.out.println (' מספר המצעים: '+ arrOfStr1.length) עבור (int i = 0 iתְפוּקָה:
פלט כאשר המגבלה היא + ve מספר המיתרים: 2 סטר [0]: 46 str [1]: -567-7388 הפלט כאשר המגבלה היא -ve מספר המיתרים: 4 str [0]: 46 str [1]: -567 -73 str [2]: str [3]: פלט כאשר המגבלה היא 0 מספר המיתרים: 2 str [0]: 46 str [1]: -567-73התוכנית שלעיל מדגימה כיצד פועלת שיטת split () כאשר לְהַגבִּיל הפרמטר צוין. כפי שאתה רואה מהפלט:
- כאשר המגבלה היא 2, מספר המצעים במערך המתקבל הוא שניים
- כאשר המגבלה היא -3, מחרוזת הקלט מפוצלת לארבעה מיתרים, כולל הרווחים הנגררים
- כאשר המגבלה היא 0, מחרוזת הקלט מפוצלת לשני מיתרים מכיוון שלא נכללים רווחים נגררים
זה מביא אותנו לסוף המאמר 'שיטת פיצול בג'אווה'. סקרתי את אחד הנושאים הבסיסיים של Java, כיצד לפצל מחרוזות באמצעות שיטת split () בג'אווה.מקווה שברור לך עם כל מה ששותף איתך במאמר זה.
דאג שתתאמן ככל האפשר ותחזיר את החוויה שלך.
בדוק את מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפרוסים ברחבי העולם. אנו כאן כדי לעזור לך בכל שלב בדרכך, ולהיות מלבד שאלות ראיונות אלה ב- Java, אנו מגישים תוכנית לימודים המיועדת לסטודנטים ואנשי מקצוע המעוניינים להיות מפתח Java.
יש לך שאלה עבורנו? אנא הזכיר זאת בקטע ההערות של 'כיצד להמיר int למחרוזת ב- Java' מאמר ונחזור אליך בהקדם האפשרי.