في كثير من الاحيان نتعامل مع نص من نوع String
كيفية التعامل مع النص من حيث الاتي
1- البحث في قيمة نصية searching in string c#
2- عمل لوب في قيمة نصية للحصول علي جزء من النص loop in string c#
3- تقطيع جملة نصية الي حروف split string in c# asp.net
عمل لوب داخل جملة نصية loop in string C# in asp.net
// اولا اقوم بحجز متغير نصي واذع به الجملة التي اريد العمل عليها
string s = "تعلم البرمجة كما في شركات البرمجة";
// بعد ذلك سوف اعمل لوب او حلقة تكراررية للبحث عن الحروف التي بداخل الكلمة
foreach (char c in s)
{// هنا حجزت متغير من نوع شار ويسمي c
//ثم اخبرته انه يبحث في كل حرف من المتغير النصي
// ثم اخبرت الصفحة الان ان تكتب ذلك الحرف علي الصفحة .. لذلك سوف يكتب كل حرف كما يوجد بالكلمة حتي بالمسافات بين الاحرف
Response.Write(c);
}
// الان خارج اللوب سوف اكتب الاتي
// هنا اخبر الصفحة ان تنزل سطر جديد من خلال الامر </br>
Response.Write("</br>");
//ثم اكتب تم بحمد الله بين علامات ""
Response.Write("تم بحمد الله");
}
النتيجة الان
تعلم البرمجة كما في شركات البرمجة
تم بحمد الله
كتب الجملة بكل ما تحتوية حتي بالمسافة بين الاحرف والكلمات
حذف المسافات , احرف معينة او احلال حرف مكان حرف .. remove or replace chars in string
// بحجز متغير من نوع الفار وبضع به جملة النص وبها بعض العلامات التي سوف احذفها بعد ذلك
var str = ".تعلم برمجة,السي شارب C#";
// احجز متغير اخر من نوع الفار وهو يقبل اي قيم بداخله ثم اضع بداخله الحروف او الرموز او العلامات التي سوف احذفها
var charsToRemove = new string[] { "#", ",", "." };
// ثم اعمل لوب بطريقة عادية واخبره الاتي
foreach (var c in charsToRemove)
{
// ان الجملة النصية الاولي = نفس الجملة بعد ان احل محل الحرف الذي لا اريده بعلامة النجمة .وطبعا يمكنك ان تضع هنا اي حرف او جملة تريدها او حتي تحذفها من خلال
//""وضع دبل كوتشن فارغ
str = str.Replace(c, "*");
}
//ثم اطبع او اكتب ذلك علي الصفحة من الامر response.write
Response.Write(str);
النتيجة الان
*تعلم برمجة*السي شارب C*
وقد وضع النجمة محل اي حرف اخر لا اريده
طريقة اخري .. remove or replace chars in string
يوجد امر اسمه احلال او تبديل replace
حيث نفتح قوسين ونتكتب القيمة القديمة ثم علامة, القيمة الجديدة
// طريقة اخري للحذف او احلال نص او حرف مكان حرف
// هنا المتغير النصي الرئيسي
string s=" سي شارب";
// ثم اخبره ان المتغير = المتغير بعد احلال القيمة القديمة وهي حرف S
//بقيمة جديدة وهي مبرمج سي شارب Asp.net
s = s.Replace(s,"مبرمج سي شارب Asp.net");
//ثم اطبع او اكتب ذلك علي الصفحة من الامر response.write
Response.Write(s);
النتيجة الان
مبرمج سي شارب Asp.net
نأتي الان لنقطة هامة
كيف احذف الرموز او الحروف المتكررة او الارقام المكررة من جملة
remove duplicate ,Repeated characters in a string
توجد طرق عديدة لكننا سوف نستخدم طريقة مختصرة واحترافية في نفس الوقت من خلال خطوتين
1- عمل فويد او فانكشن تأخذ النص وسوف ترجع في متغير نصي اخر بالقيمة المرادة بدون ان تكرر حرف
//هذه فانكشن سوف ترجع بالقيمة بدون تكرار
public string RemoveDuplicates(string input)
{
// اقول هنا ارجع بنص جديد حيث
// تأخذ القيمة المرسلة من input
//بعد ان تحولها الي اراي او حروف مصفوفة
// ثم بدون تكرار من خلال الامر Distinct
return new string(input.ToCharArray().Distinct().ToArray());
}
2- في اي مكان تريده ان يحدث ذلك اكتب الفانكشن
// وهنا في الزر الذي يضغط عليه او في الصفحة في حدث الباج لود
Response.Write(RemoveDuplicates("C#C#C#AspAsp"));
والنتيجة الان هي
C#Asp