מחרוזות הן רצפים של דמויות. לדוגמה, "שלום!" היא מחרוזת מכיוון שהיא מורכבת מהתווים 'H', 'e', 'l', 'l', 'o' ו- '!'. בג'אווה, מחרוזות הן אובייקטים, מה שאומר שישנה מחלקת מחרוזות שיש לה שדות ושיטות. אנו יכולים להשתמש בשיטות של מחלקת המיתרים כדי לתפעל מחרוזות.
צעדים
שיטה 1 מתוך 5: צור מחרוזת
שלב 1. צור מחרוזת באמצעות בונה המחלקה String
String str = מחרוזת חדשה ("שלום!");
שלב 2. צור מחרוזת על ידי הקצאת מחרוזת ישירות
שלב 3. נסה דוגמה
להלן תוכנית לדוגמה היוצרת מחרוזת בשתי דרכים שונות.
class public StringManipulation {public static void main (String args) {String str1 = new String ("מחרוזת שנוצרה באמצעות קונסטרוקטור!"); String str2 = "מחרוזת שנוצרה ללא קונסטרוקטור!"; System.out.println (str1); System.out.println (str2); }}
שיטה 2 מתוך 5: מצא את אורך המחרוזת
שלב 1. להבין מה זה אומר למצוא את אורך המחרוזת
אורך המחרוזת הוא מספר התווים שהמחרוזת מכילה. לדוגמה, אורך המחרוזת "שלום!" הוא 6 מכיוון שיש לו 6 תווים.
שלב 2. הפעל את
אורך()
שיטה על אובייקט המיתר ושמור את התוצאה במשתנה שלם.
int strLength = str.length ();
שלב 3. תן לזה לנסות
להלן תוכנית לדוגמא שמוצאת את אורך המחרוזת.
class public StringManipulation {public static void main (String args) {String str = "שלום!"; int strLength = str.length (); System.out.println ("האורך של \" " + str +" / "הוא" + strLength + "."); }}
שיטה 3 מתוך 5: הפוך מחרוזת
שלב 1. להבין מה זה אומר להפוך מחרוזת
הפיכת מחרוזת פירושה לשנות את סדר התווים במחרוזת. לדוגמה, הפוך של המחרוזת "שלום!" הוא "! olleH". ישנן דרכים רבות להפוך מחרוזת ב- Java.
שלב 2. השתמש בשיטה הפוכה של המחלקה StringBuffer
צור אובייקט StringBuffer שלוקח את המחרוזת שברצונך להפוך כפרמטר. השתמש בשיטת הפוך () של StringBuffer ולאחר מכן אחזר את המחרוזת שהתהפכה לאחרונה באמצעות שיטת toString ().
class public StringManipulation {public static void main (String args) {String str = "שלום!"; מאגר StringBuffer = StringBuffer חדש (str); String reversedStr = buffer.reverse (). ToString (); System.out.println ("הפוך המחרוזת \" " + str +" / "הוא \" " + reversedStr +" / "."); }}
שלב 3. חזור בין התווים במחרוזת הפוך, והוספת תווים אלה ל- StringBuffer בכל איטרציה
צור אובייקט StringBuffer חדש שיאותחל באורך המחרוזת שברצונך להפוך כפרמטר. לאחר מכן השתמש בלולאה for iterate דרך המחרוזת, החל מהתו האחרון במחרוזת וכלה בתו הראשון במחרוזת. בכל איטרציה, צרף את הדמות באינדקס זה ל- StringBuffer. אחזר את המחרוזת שהתהפכה לאחרונה באמצעות שיטת toString ().
class public StringManipulation {public static void main (String args) {String str = "שלום!"; מאגר StringBuffer = StringBuffer חדש (str.length ()); for (int i = str.length ()-1; i> = 0; i--) {buffer.append (str.charAt (i)); } String reversedStr = buffer.toString (); System.out.println ("הפוך המחרוזת \" " + str +" / "הוא \" " + reversedStr +" / "."); }}
שלב 4. כתוב פונקציה רקורסיבית כדי להפוך את המחרוזת
בפונקציה רקורסיבית, המקרה / תנאי הבסיס הוא אם המחרוזת היא אפס או אם אורך המחרוזת פחות או שווה לאף אחד. אחרת, שיטת ההפוך () נקראת שוב עם המחרוזת מינוס התו הראשון, והתו הראשון נדבק בסוף. כך שאם עברנו במחרוזת "שלום!", השיחה ההפוכה () הראשונה לאחר מכן תהיה בעלת הפרמטר "ello!".
class public StringManipulation {public static void main (String args) {String str = "שלום!"; String reversedStr = reverse (str); System.out.println ("הפוך המחרוזת \" " + str +" / "הוא \" " + reversedStr +" / "."); } מחרוזת סטטית פרטית (מחרוזת מחרוזת) {if (str == null || str.length () <= 1) str return החזר אחורה (str.substring (1)) + str.charAt (0); }}
שלב 5. המר את המחרוזת למערך של תווים ולאחר מכן החלף את הראשון והאחרון, השני והשני אחרון וכו '
דמויות. ראשית המירו את המחרוזת למערך תווים באמצעות שיטת toCharArray () במחרוזת. קבל את אינדקס התו האחרון במערך, השווה לאורך המערך מינוס אחד. לאחר מכן חזור על המערך והחלף את ה- iה הדמות וה- indexOfLastChar - iה אופי בכל איטרציה. לבסוף, המירו את מערך התווים בחזרה למחרוזת.
class public StringManipulation {public static void main (String args) {String str = "שלום!"; char charArray = str.toCharArray (); int indexOfLastChar = charArray.length - 1; for (int i = 0; i <charArray.length/2; i ++) {char temp = charArray ; charArray = charArray [indexOfLastChar - i]; charArray [indexOfLastChar - i] = זמני; } מחרוזת reversedStr = מחרוזת חדשה (charArray); System.out.println ("הפוך המחרוזת \" " + str +" / "הוא \" " + reversedStr +" / "."); }}
שלב 6. בדוק את הפלט שלך
להלן הפלט הנובע מכל אחת מהשיטות הללו להיפוך מחרוזות.
שיטה 4 מתוך 5: חיתוך רווח לבן במחרוזת
שלב 1. להבין מה זה אומר לקצץ רווח לבן במחרוזת
קיצוץ מחרוזת ב- Java פירושו הסרת החלל הלבן המוביל והנגרר במחרוזת. לדוגמה, אם יש לך את המחרוזת"
שלום עולם!
"ואתה רוצה שזה יגיד" שלום לך עולם! "ללא הרווח הלבן בהתחלה ובסוף, תוכל לקצץ את המחרוזת. מחלקת המחרוזת מספקת שיטה לחיתוך () המחזירה עותק של המחרוזת עם מרחב לבן מוביל ונגרר הוסר או המחרוזת המקורית אם אין לו רווח לבן מוביל או נגרר.
שלב 2. השתמש בשיטת החיתוך () של המחלקה String על אובייקט String כדי לקצץ את החלל הלבן
שים לב כי שיטת החיתוך () תזרוק חריגה אם המחרוזת היא null. שיטת החיתוך () לא תשנה את תוכן המחרוזת המקורית מכיוון שמחרוזות ב- Java אינן ניתנות לשינוי, מה שאומר שלא ניתן לשנות את מצב המחרוזת לאחר יצירתו. במקום זאת, שיטת החיתוך () תחזיר מחרוזת חדשה שהמרווח הלבן שלה חתוך.
String trimmedStr = str.trim ();
שלב 3. נסה דוגמה
להלן תוכנית לדוגמא שחותכת את הרווח הלבן של מחרוזת:
class public StringManipulation {public static void main (String args) {String str = "שלום!"; String trimmedStr = str.trim (); System.out.println ("המחרוזת המקורית היא \" " + str +" / "."); System.out.println ("מחרוזת קצוצה היא \" " + trimmedStr +" / "."); }}
שיטה 5 מתוך 5: פיצול מחרוזת
שלב 1. להבין מה המשמעות של פיצול מחרוזת
פיצול מחרוזת בג'אווה פירושו פיצול מחרוזת על -ידי מפריד מסוים למערך של מצעים. לדוגמה, אם הייתי מחלק את המחרוזת "אדום, כחול, ירוק, צהוב, ורוד" עם פסיק כמפריד, הייתי מקבל את המערך {"אדום", "כחול", "ירוק", "צהוב", "ורוד "}. להלן שלוש דרכים שונות לפצל מחרוזת.
שלב 2. השתמש
StringTokenizer
כדי לסמן את המחרוזת.
יְבוּא
java.util. StringTokenizer
. לאחר מכן צור מופע חדש של a
StringTokenizer
עם המחרוזת לאסימון והמתח כפרמטרים. אם לא תזין את המפריד כפרמטר, המפריד יגדיר כברירת מחדל לרווח לבן באופן אוטומטי. אחרי שיש לך את
StringTokenizer
אתה יכול להשתמש ב
nextToken ()
שיטה לקבל כל אסימון.
יבוא java.util. Arrays; יבוא java.util. StringTokenizer; class public StringManipulation {public static void main (String args) {String str = "אדום, ירוק, כחול, צהוב, ורוד"; StringTokenizer tokenizer = StringTokenizer חדש (str, ","); int numberOfTokens = tokenizer.countTokens (); String splitArr = מחרוזת חדשה [numberOfTokens]; for (int i = 0; i <numberOfTokens; i ++) {splitArr = tokenizer.nextToken (); } System.out.println ("\ n מחרוזת מקור:" + str); System.out.println ("מערך מפוצל:" + Arrays.toString (splitArr) + "\ n"); }}
לפני Java 1.4,
StringTokenizer
class שימשה לפיצול מחרוזות ב- Java. אבל עכשיו, השימוש ב
StringTokenizer
מיואש והשימוש ב
לְפַצֵל()
שיטה ב
חוּט
בכיתה או השימוש ב
java.util.regex
שלב 3. השתמש ב
חוּט
של הכיתה
לְפַצֵל()
שיטה.
ה
לְפַצֵל()
שיטה תיקח את המפריד כפרמטר ותחזיר מערך של מחרוזות משנה זהות לאסימונים מה-
StringTokenizer
יבוא java.util. Arrays; class public StringManipulation {public static void main (String args) {String str = "אדום, ירוק, כחול, צהוב, ורוד"; מחרוזת splitArr = str.split (","); System.out.println ("\ n מחרוזת מקור:" + str); System.out.println ("מערך מפוצל:" + Arrays.toString (splitArr) + "\ n"); }}
שלב 4. השתמש בביטויים רגילים כדי לפצל את המחרוזת
יְבוּא
java.util.regex. Pattern
. להשתמש ב
לְלַקֵט()
שיטת ה
תבנית
class להגדיר את התוחם ולאחר מכן לתת את
לְפַצֵל()
שיטה המחרוזת שברצונך לפצל. ה
תבנית
יחזיר מערך של מצעים.
יבוא java.util. Arrays; יבוא java.util.regex. Pattern; class public StringManipulation {public static void main (String args) {String str = "אדום, ירוק, כחול, צהוב, ורוד"; מחרוזת splitArr = Pattern.compile (",").split (str); System.out.println ("\ n מחרוזת מקור:" + str); System.out.println ("מערך מפוצל:" + Arrays.toString (splitArr) + "\ n"); }}
שלב 5. בדוק את הפלט שלך
להלן הפלט הנובע מכל אחת מהשיטות הללו לפיצול מחרוזות.