הגדרה ועבודה עם מחרוזות - string

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



הגדרה ועבודה עם משתנים - string 

 
מאת: ארז קלר
 
 
 
בעולם התכנות מידע טקסטואלי מכונה מחרוזת (string), מחרוזת היא אחד הטיפוסים השכיחים ביותר בתכנות.
מחרוזות שגויות
מחרוזות שגויות
תריצו כל תוכנה אצלכם במחשב או בטלפון ותספרו כמה מחרוזות יש בה:
בתפריט, בחלון הראשי של התוכנית, בחלונות המשניים ....
יותר פשוט, תספרו כמה מחרוזות יש בדף הזה שאתם קוראים עכשיו, 100?, 200? אולי 1000?, באמת לא יודע, לא ספרתי, אבל בטוח הרבה מאוד.
תפתחו קובץ PDF, קובץ Word או Excel, מצגת Power Point, כמה מחרוזות ספרתם?
תחביר:
syntax - תחביר מחרוזת string


דוגמת קוד (StringSample)
 1  : class Program 
 2  : { 
 3  :     static void Main(string[] args) 
 4  :     { 
 5  :         string name = "Moshe"; 
 6  :         string address = "ei sham 12, Tel Aviv"; 
 7  :         string email = "moshe@my-email.com"; 
 8  :         Console.WriteLine(name + " " + address + " " + email); 
 9  :         string my_details = name + " " + address + " " + email; 
 10 :         Console.WriteLine(my_details); 
 11 :     } 
 12 : } 
בשורות 5, 6 ו-7 - הגדרת מחרוזת ואתחולה.
בשורות 8 ו-9 שרשור מחרוזות

מחרוזת תוחמים בגרשיים... זה כבר החדשות של אתמול, את זה אתם כבר מכירים.
שרשור מחרוזות ..... זה גם החדשות של אתמול, גם את זה אתם כבר מכירים מדוגמאות קודמות.
אז מה בכל זאת אפשר ללמוד מהדוגמה הזו?
תנסו להחליף את המחרוזות : " " במאפיין הזה: Environment.NewLine.
מה השתנה בפלט?
פלט:
פלט תוכנית הדוגמה stringSample



פעולות מיוחדות על מחרוזות

למחלקה string יש כמה מתודות ומאפיינים נחמדים:
דוגמת קוד (StringSample01)

 1  : class Program 
 2  : { 
 3  :     static void Main(string[] args) 
 4  :     { 
 5  :         string str = "This is Major Tom to Ground Control.\nI'm stepping through the door,\nAnd I'm floating in a most peculiar way.\nAnd the stars look very different today.\n(David Bowie - Space Oddity (1969))"; 
 6  :         Console.WriteLine(str.Length); 
 7  :         Console.WriteLine(str.ToUpper()); 
 8  :         Console.WriteLine(str.ToLower()); 
 9  :         Console.WriteLine(str.Contains("stars")); 
 10 :         Console.WriteLine(str.IndexOf("stars")); 
 11 :         Console.WriteLine(str.LastIndexOf("the")); 
 12 :         Console.WriteLine(str.LastIndexOf('t')); 
 13 :         Console.WriteLine(str.Replace("Major Tom", "MAJOR TOM")); 
 14 :     } 
 15 : } 
בשורה 6: הדפסת אורך המחרוזת (מספר התווים שיש במחרוזת), גם התו רווח נחשב מחרוזת.
בשורה 7: המרת התווים לתווים ראשיים (A-Z) והדפסתם.
בשורה 8: המרת התווים לתווים משניים (a-z) והדפסתם.
בשורה 9: בדיקה האם המחרוזת מכילה את תת המחרוזת "stars".
בשורה 10: הדפסת המיקום של התת מחרוזת "stars".
בשורה 11: בדיקה והדפסה של המיקום של המופע האחרון של תת המחרוזת "the".
בשורה 13: החלפת תת מחרוזת אחת "major tom" בתת מחרוזת אחרת "MAJOR TOM".
 

 
 
String.Length מאפיין המחשב את אורכה של המחרוזת.
String.ToLower() מתודה ההופכת את תווי המחרוזת לתווים קטנים.
String.ToUpper() מתודה ההופכת את תווי המחרוזת לתווים ראשיים.
String.Contains(string) חיפוש תת-מחרוזת (sub-string) במחרוזת, התת-מחרוזת נשלחת כפרמטר (זוכרים מה זה?) והתשובה המתקבלת מהמתודה היא קיים (True) או לא קיים (False).
String.IndexOf(string)
חיפוש המיקום של תת-מחרוזת (sub-string) במחרוזת, התת-מחרוזת נשלחת כפרמטר התשובה המתקבלת מהמתודה היא המיקום של התת-מחרוזת במחרוזת הראשית.
אם תספרו את המיקום בעצמכם אתם תגלו שהתוצאה קטנה ב-1 מהמקום האמיתי.
זו לא טעות, הסיבה היא שבתכנות מתחילים לספור מ-0 ולא מ-1, למה?, חכו למאמר על מערכים.
String.LastIndexOf(string)
חיפוש המיקום של המופע האחרון של תת-מחרוזת (sub-string) במחרוזת, התת-מחרוזת נשלחת כפרמטר התשובה המתקבלת מהמתודה היא המיקום של התת-מחרוזת במחרוזת הראשית.
גרסה אחרת של המתודה הזו מקבלת תו (char) ומחפשת את המיקום האחרון של התו במחרוזת.
String.Replace(string,string) החלפת תת-מחרוזת בתת-מחרוזת אחרת.
 
אם תבחנו את על המתודות והמאפיינים תגלו עוד רבים נוספים וחשובים, אולם נדרש ידע מעמיק יותר ב-#C על מנת להשתמש בהם נכון.
פלט:
פלט תוכנית הדוגמה StringSample01


 
 


 
 
 
המחשב הראשון שלי
מעבד במהירות של 1M , זיכרון של 16K, רזולוציית המסך של 200X240 פיקסלים (מסך שחור לבן), שמירה וקריאת מידע התבצעה על קלטות שמע.
תותח-על במושגים של ימי בחרותי.