רפד מחרוזת עם אפסים או רווחים ב- Java

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

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

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

2. רפידה א חוּט באמצעות שיטות מותאמות אישית

ה חוּט class ב- Java אינו מספק שיטה נוחה לריפוד, אז בואו ניצור מספר שיטות לבד. ראשית, עם זאת, בואו נקבע כמה ציפיות:

assertEquals ("123456", padLeftZeros ("123456", 10)); assertEquals ("0000123456", padLeftZeros ("123456", 10));

2.1. באמצעות StringBuilder

אנחנו יכולים להשיג זאת באמצעות StringBuilder והיגיון פרוצדורלי כלשהו:

מחרוזת padLeftZeros ציבורית (מחרוזת inputString, int אורך) {אם (inputString.length ()> = אורך) {return inputString; } StringBuilder sb = StringBuilder חדש (); בעוד (sb.length () <length - inputString.length ()) {sb.append ('0'); } sb.append (inputString); החזר sb.toString (); }

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

כמובן, אם היינו רוצים כרית עם אופי אחר נוכל פשוט להשתמש בה במקום a 0.

כמו כן, אם אנחנו רוצים לרפד את הכרית, אנחנו רק צריכים לעשות חָדָשׁStringBuilder (inputString) במקום זאת ואז הוסף את הרווחים בסוף.

2.2. באמצעות סובסטרינג

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

StringBuilder sb = StringBuilder חדש (); עבור (int i = 0; i <length; i ++) {sb.append (''); } להחזיר sb.substring (inputString.length ()) + inputString;

2.3. באמצעות מחרוזת.פורמט

ולבסוף, מאז Java 5, אנו יכולים להשתמש חוּט.פוּרמָט():

החזר String.format ("% 1 $" + אורך + "s", inputString). מקום ('', '0');

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

עבור הרפידה הנכונה, עלינו רק להשתמש בדגל אחר: %1$-

3. רפידה א חוּט שימוש בספריות

וישנן ספריות חיצוניות שכבר מציעות פונקציות ריפוד.

3.1. אפאצ'י קומונס לאנג

Apache Commons Lang מספק חבילה של שיעורי כלי עזר ב- Java. אחד הפופולריים ביותר הוא StringUtils.

כדי להשתמש בו, נצטרך לכלול אותו בפרויקט שלנו על ידי הוספת התלות שלו pom.xml קוֹבֶץ:

 org.apache.commons commons-lang3 3.8.1 

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

assertEquals ("123456", StringUtils.leftPad ("123456", 10)); assertEquals ("0000123456", StringUtils.leftPad ("123456", 10, "0"));

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

יש גם המקביל rightPad () שיטות.

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

3.2. גויאבה של גוגל

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

 com.google.guava גויאבה 27.0-jre 

ואז השתמש ב- מיתרים מעמד:

assertEquals ("123456", Strings.padStart ("123456", 10, '')); assertEquals ("0000123456", Strings.padStart ("123456", 10, '0'));

בשיטת זו אין תו ברירת מחדל ברירת מחדל, לכן עלינו להעביר אותו בכל פעם.

לרפידה הימנית נוכל להשתמש padEnd () שיטה.

ספריית גויאבה מציעה הרבה יותר תכונות וסיקרנו הרבה מהן. אתה יכול לחפש כאן את המאמרים הקשורים לגויאבה.

4. מסקנה

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

כרגיל, ניתן למצוא קוד מקור מלא ב- GitHub.


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