מדריך C# – עבודה עם מחרוזות (string)
בחלק זה נלמד על פונקציות שימושיות נוספות כאשר עובדים עם משתנים מטיפוס string.
התכונה Length
לכל משתנה מטיפוס string יש תכונה בשם Length שמחזירה את אורך המחרוזת.
לדוגמא, קטע הקוד הבא מגדיר מחרוזת עם המילה "Hello World" ומדפיס את אורך המחרוזת, 11:
string myString = "Hello World";
Console.WriteLine(myString.Length);
גישה לאות בתוך המחרוזת
ניתן להתייחס למחרוזת כאילו היא הייתה מערך של תווים (char), כלומר נוכל לבקש מהמחרוזת להחזיר לנו אות שנמצאת בתא מסוים.
לדוגמא, קטע הקוד הבא מגדיר מחרוזת ומדפיס את האות הראשונה והאחרונה:
string myString = "Hello World";
char firstChar = myString[0];
char lastChar = myString[myString.Length - 1];
Console.WriteLine(firstChar); // prints H
Console.WriteLine(lastChar); // prints d
שימו לב שכדי לגשת לתא האחרון במחרוזת משתמשים ב Length – 1, שכן מספור התאים מתחיל ב 0.
הפונקציות ToLower ו ToUpper
זוג הפונקציות ToLower ו ToUpper מאפשרות לנו לבצע פעולה נפוצה במחרוזת שהיא שינוי מאותיות קטנות לאותיות גדולות.
לדוגמא, אם נפעיל את הפונקציה ToLower על המחרוזת "Hello World" נקבל "hello world",
בנוסף, אם נפעיל את הפונקציה ToUpper על המחרוזת "Hello World" נקבל "HELLO WORLD".
קטע הקוד הבא מדגים זאת:
string myString = "Hello World";
Console.WriteLine(myString.ToLower());
Console.WriteLine(myString.ToUpper());
להלן תוצאת הריצה של תוכנית זו:
הפונקציות TrimStart, TrimEnd, Trim
הרבה פעמים קורה במחשבים שמחרוזת נקלטת עם רווחים עודפים מימין או משמאל.
הפונקציה TrimStart מוחקת את כל הרווחים שיש בתחילת המילה, ואילו הפונקציה TrimEnd מוחקת את הרווחים שמופיעים בסוף המילה.
הפונקציה Trim מבצעת את שתי הפעולות גם יחד.
לדוגמא, נריץ את קטע הקוד הבא על המחרוזת " Hello World ":
Console.BackgroundColor = ConsoleColor.Blue;
string myString = " Hello World ";
Console.WriteLine(myString.TrimStart());
Console.WriteLine(myString.TrimEnd());
Console.WriteLine(myString.Trim());
ונקבל את התוצאה:
הערה: שיניתי את צע הרקע לכחול כדי שניתן יהיה לראות את הרווחים של המחרוזת.
הפונקציות StartWith, EndWith
הפונקציה StartWith מאפשר לבדוק האם המחרוזת שלנו מתחילה במחרוזת אחרת.
לדוגמא, הרצת הפונקציה StartWith על המחרוזת "Hello World" עם הפרמטר "Hello" תחזיר true מאחר והמחרוזת "Hello World" מתחילה במילה "Hello".
באופן דומה, הפונקציה EndWith בודקת האם המחרוזת שלנו מסתיימת במחרוזת מסויימת.
להלן דוגמה של איך ניתן לעבוד עם שתי הפונקציות הללו:
string myString = Console.ReadLine();
if (myString.StartsWith("Hello"))
{
Console.WriteLine("Hello is at the start of the input");
}
if (myString.EndsWith("Hello"))
{
Console.WriteLine("Hello is at the end of the input");
}
הפונקציה Replace
הפונקציה Replace מאפשרת לנו לבצע החלפה של כל המופעים של מחרוזת א' במחרוזת ב' בתוך המחרוזת שלנו.
לדוגמא, נניח שיש לנו מחרוזת את המחרוזת "Good morning, what a beautiful morning!", ונרצה להחליף את המילה "morning" במילה "night".
נכתוב תוכנית שעושה זאת:
string before = "Good morning, what a beautiful morning!";
string after = before.Replace("morning", "night");
Console.WriteLine(before);
Console.WriteLine(after);
והתוצאה:
פונקציות נוספות
הפונקציה IndexOf מחפשת מחרוזת א' בתוך מחרוזת ב' ומחזירה את המיקום שלה.
הפונקציה Substring מאפשרת להעתיק חלק ממחרוזת לתוך מחרוזת אחרת.
הפונקציה CompareTo מאפשרת להשוות בין שתי מחרוזות לפי סדר ההופעה שלהם במילון.
למחלקה string פונקציות עזר נוספות ומומלץ לבחון אותן בעצמכם.
תגובות בפייסבוק