עיבוד מחרוזות עם Apache Commons Lang 3

1. סקירה כללית

ספריית Apache Commons Lang 3 מספקת תמיכה במניפולציה של מחלקות הליבה של ממשקי ה- API של Java. תמיכה זו כוללת שיטות לטיפול בחוטים, מספרים, תאריכים, מקביליות, השתקפות עצמים ועוד.

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

2. תלות של Maven

על מנת להשתמש בספריית Commons Lang 3, פשוט משוך אותה ממאגר Maven המרכזי תוך שימוש בתלות הבאה:

 org.apache.commons commons-lang3 3.5 

תוכל למצוא את הגרסה האחרונה של ספרייה זו כאן.

3. StringUtils

ה StringUtils בכיתה מספקת שיטות עבור ריק-פעולות בטוחות בחוטים.

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

4. ה מכיל כל שיטה

ה מכיל כל השיטה בודקת אם נתון חוּט מכיל כל תו בערכת הדמויות הנתונה. ניתן להעביר קבוצה זו של תווים בצורה של חוּט אוֹ לְהַשְׁחִיר varargs.

קטע הקוד הבא מדגים את השימוש בשני טעמים עמוסים מדי בשיטה זו עם אימות תוצאה:

מחרוזת מחרוזת = "baeldung.com"; בוליאני contain1 = StringUtils.containsAny (מחרוזת, 'a', 'b', 'c'); בוליאני contain2 = StringUtils.containsAny (מחרוזת, 'x', 'y', 'z'); בוליאני contain3 = StringUtils.containsAny (מחרוזת, "abc"); בוליאני contain4 = StringUtils.containsAny (מחרוזת, "xyz"); assertTrue (הכיל 1); assertFalse (הכיל 2); assertTrue (הכיל 3); assertFalse (הכיל 4);

5. ה containIgnoreCase שיטה

ה containIgnoreCase השיטה בודקת אם נתון חוּט מכיל אחר חוּט באופן שאינו רגיש למקרה.

שבר הקוד הבא מאמת ש- מחרוזת "baeldung.com" כולל "BAELDUNG" כאשר מתעלמים מאותה אותיות גדולות וקטנות:

מחרוזת מחרוזת = "baeldung.com"; בוליאני הכלול = StringUtils.containsIgnoreCase (מחרוזת, "BAELDUNG"); assertTrue (הכלול);

6. ה countMatches שיטה

ה התאמות נגד השיטה סופרת כמה פעמים תו או תשתית מופיעים בנתון חוּט.

להלן הדגמה של שיטה זו המאשרת זאת 'W' מופיע ארבע פעמים ו "Com" עושה פעמיים ב חוּט"ברוך הבא ל- www.baeldung.com":

מחרוזת מחרוזת = "ברוך הבא ל- www.baeldung.com"; int charNum = StringUtils.countMatches (מחרוזת, 'w'); int stringNum = StringUtils.countMatches (מחרוזת, "com"); assertEquals (4, charNum); assertEquals (2, stringNum);

7. שיטה מצרפת והכנה מראש

ה appendIfMissing ו appendIfMissingIgnoreCase שיטות מוסיפות סיומת לסוף נתון חוּט אם זה לא נגמר כבר עם כל אחת מהסיומות שהועברו באופן רגיש וחסר רגישות בהתאמה.

באופן דומה, ה prependIfMissing ו prependIfMissingIgnoreCase שיטות מקדימות קידומת לתחילת נתון חוּט אם זה לא מתחיל באף אחת מהקידומות שהועברו.

בדוגמה הבאה, appendIfMissing ו prependIfMissing נעשה שימוש בשיטות להוספת סיומת וקידומת ל- מחרוזת "baeldung.com" מבלי שחוזרים על התוספות הללו:

מחרוזת מחרוזת = "baeldung.com"; String stringWithSuffix = StringUtils.appendIfMissing (מחרוזת, ".com"); String stringWithPrefix = StringUtils.prependIfMissing (מחרוזת, "www."); assertEquals ("baeldung.com", stringWithSuffix); assertEquals ("www.baeldung.com", stringWithPrefix);

8. שיטת שינוי מקרה

ה חוּט class כבר מגדיר שיטות להמרת כל התווים של a חוּט לאותיות רישיות או קטנות. סעיף קטן זה ממחיש רק את השימוש בשיטות המשנות את המקרה של א חוּט בדרכים אחרות, כולל swapCase, לְנַצֵל ו חסרי רישיון.

ה swapCase השיטה מחליפה את המקרה של א חוּט, החלפת אותיות רישיות לאותיות קטנות ואותיות קטנות:

מחרוזת originalString = "baeldung.COM"; String swappedString = StringUtils.swapCase (originalString); assertEquals ("BAELDUNG.com", swappedString);

ה לְנַצֵל שיטה ממירה את התו הראשון של נתון חוּט לרישיות, והשאיר את כל הדמויות שנותרו ללא שינוי:

מחרוזת originalString = "baeldung"; מחרוזת capitalizedString = StringUtils.capitalize (originalString); assertEquals ("Baeldung", CapitalisedString);

ה חסרי רישיון השיטה ממירה את הדמות הראשונה של הנתון חוּט לאותיות קטנות, ומשאיר את כל התווים שנותרו ללא שינוי:

מחרוזת originalString = "Baeldung"; String uncapitalizedString = StringUtils.uncapitalize (originalString); assertEquals ("baeldung", מחרוזת ללא הון);

9. שיטת היפוך

ה StringUtils class מגדירה שתי שיטות להיפוך מיתרים: לַהֲפוֹך ו הפוך מוגבל. ה לַהֲפוֹך השיטה מסדרת מחדש את כל התווים של חוּט בסדר הפוך, ואילו ה- הפוך מוגבל השיטה מסודרת מחדש על קבוצות תווים, מופרדות על ידי מפריד מוגדר.

שבר הקוד הבא הופך את המחרוזת "באלדונג" ומאמת את התוצאה:

מחרוזת originalString = "baeldung"; String reversedString = StringUtils.reverse (originalString); assertEquals ("gnudleab", reversedString);

עם ה הפוך מוגבל שיטה, תווים הפוכים בקבוצות במקום בנפרד:

מחרוזת originalString = "www.baeldung.com"; String reversedString = StringUtils.reverseDelimited (originalString, '.'); assertEquals ("com.baeldung.www", reversedString);

10. ה להתחלף() שיטה

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

מחרוזת originalString = "baeldung"; מחרוזת rotatedString = StringUtils.rotate (OriginalString, 4); assertEquals ("dungbael", rotatedString);

11. ה הֶבדֵל שיטה

ה הֶבדֵל השיטה משווה בין שני מיתרים, ומחזירה את שארית השנייה חוּט, החל מהמצב שבו הוא שונה מהראשון. שבר הקוד הבא משווה בין שניים מיתרים: "מדריכי באלדונג" ו "קורסים של Baeldung" בשני הכיוונים ומאמת את התוצאה:

מדריכי מיתרים = "מדריכי באלדונג"; קורסי מיתרים = "קורסי באלדונג"; String diff1 = StringUtils.difference (הדרכות, קורסים); String diff2 = StringUtils.difference (קורסים, הדרכות); assertEquals ("קורסים", diff1); assertEquals ("הדרכות", diff2);

12. מסקנה

הדרכה זו מציגה עיבוד מיתרים ב- Apache Commons Lang 3 ועוברת על ממשקי ה- API העיקריים שבהם אנו יכולים להשתמש StringUtils שיעור ספרייה.

כמו תמיד, היישום של כל הדוגמאות וקטעי הקוד המופיעים לעיל ניתן למצוא בפרויקט GitHub.


$config[zx-auto] not found$config[zx-overlay] not found