التعامل مع الأحرف والنصوص في لغة البرمجة جافا

اقرأ في هذا المقال


مفهوم الأحرف في لغة البرمجة جافا:

في لغة البرمجة جافا (Java Programming Language) في العادة يتم استخدام أنواع البيانات البدائية الـ (primitive data type) لتخزين الأحرف، أي عند تعريف متغير بهدف تخزين حرف معين نعرفه كنوع (char)، ومن أجل ذلك فإن لغة البرمجة جافا تقدم للمستخدمين الكلاس من نوع (Character)، والذي يحتوي على مجموعة من الدوال الجاهزة للتعامل مع الأحرف، ولتخزين حرف ككائن من نوع (Character) فيجب إنشاء كائن من الكلاس (Character) وبعد ذلك يتم تمرير الحرف الذي يريد المستخدم تخزينه فيه في الـ (Constructor).

مفهوم Escape Sequences في لغة البرمجة جافا:

يشير مفهوم ال (Escape Sequence) إلى مجموعة من الأحرف المتتالية والتي تشكل مفهوم معين للمترجم (Compiler)، ويندرج تحت هذا المفهوم مجموعة من الأحرف وكل منها ينفذ أمر معين والجدول التالي يوضح ذلك:

Escape Sequenceالاستخدام
t/يستخدم هذا النوع لإضافة عدة مسافات في مكان وضعها.
b/يستخدم لإزالة الحرف الموجود قبلها.
n/يجعل المحتوى الذي يأتي بعدها ينزل سطر جديد.
r/يجعل هذا الحرف الكود يبدأ في التنفيذ من عندها.
f/يضع فاصل بين المحتوى أي أنه يقوم بتقسيم المحتوى.
u/يستخدم لإضافة أي حرف أو رمز من خلال الـ (Unicode) الخاص فيه.
‘/تستخدم لإضافة الرمز ( ) في مكان وضعها.
“/تستخدم لإضافة الرمز (“) في مكان وضعها.

التعامل مع النصوص في لغة البرمجة جافا:

النص (string) في لغة البرمجة جافا عبارة عن مجموعة من الأحرف المتسلسلة، وعندما يقوم المستخدم بتعريف نص (String) فإنه يقوم بتعريف كائن جديد، وهذا النوع من البيانات يسمح للمستخدم بتخزين أي قيمة نصية بداخله ويتم إنشاء كائن نوعه (String) من خلال استخدام الكلمة (new)، ويُعتبر الكلاس (String) من نوع (Immutable class) أي التي يمكن التعديل على القيم التي تحتويها حتى بعد إنشاؤها، وهذا يعني أنه عندما تستدعي أي دالة فإن المستخدم لن يُعدل محتوى الـ (String) الذي قام باستدعائها بل سترجع لك نسخة معدلة من هذا الـ (String) وسيبقى الـ (String) الأصلي كما هو.

دوال الكلاس String في لغة البرمجة جافا:

هناك الكثير من الدوال التي تستخدم للتعامل مع محتوى النصوص في لغة البرمجة جافا (Java)، فمنها ما يستخدم للبحث عن أحرف أو الكلمات أو الجمل أو لعملية تقسيم النصوص  حيث تُقسم هذه الدوال إلى خمس فئات أساسية كما يلي:

  • دوال لإجراء عملية البحث (Searching).
  • دوال لإجراء عملية التجزيء (Substring).
  • دوال لإجراء عملية التبديل (Replacing).
  • دوال لإجراء عملية المقارنة (Comparison).
  • دوال لإجراء عملية المعالجة (Manipulation).

مصطلحات تقنية خاصة بمفهوم النصوص في لغة جافا:

  • (length): وهو عدد أحرف النص.
  • (index): وهو عبارة عن رقم الخانة.
  • (substring): إذا قمنا بأخذ جزء محدد من النص فيسمى (substring).

دوال البحث الخاصة بالكلاس String في لغة البرمجة جافا:

إسم الدالةتعريفها
publiccharcharAt(int index)تقوم بإرجاع الحرف الموجود على ال (index) الذي نمرره لها مكان الباراميتر (index) في الـ (String) الذي قام باستخدامها.
publicbooleancontains(CharSequence cs)تقوم بإرجاع قيمة (true) في حال كان الـ (String) الذي قام بإستدعائها يحتوي على نفس قيمة النص الذي نمرره لها مكان (cs) ككائن من نوع (CharSequence).
publicintindexOf(String str)
تقوم بالبحث  في النص الذي قام باستدعائها عند أول (index) موجود إبتداءً من عند نفس النص الذي نمرره لها مكان الباراميتر (str) وترجعه.
publicintlastIndexOf(String str)
تبحث في الـ (String) الذي قام باستدعائها عند آخر (index) يوجد إبتداءً من نفس النص الذي نمرره لها مكان الباراميتر (str) و ترجعه.

دوال التجزيء الخاصةبالكلاس String في لغة البرمجة جافا:

إسم الدالةالاستخدام
public String substring(int startIndex, int endIndex)تقوم بإرجاع (String) عبارة عن جزء (substring) من الـ (String) الذي قام باستدعائها.
public CharSequence subSequence(int startIndex, int endIndex)ترجع كائن من الكلاس (CharSequence) عبارة عن جزء (substring) من الـ (String) الذي قام باستدعائها.
public String[]split(String regex)تقوم بإرجاع نسخة من الـ (String) الذي قام باستدعائها مقسمة على شكل مصفوفة نوعها (String)، حيث مكان الباراميتر (regex) يتم تمرير نص يحدد الطريقة التي سيتم على أساسها تقسيم الـ (String) ووضع كل قسم فيها في عنصر بداخل المصفوفة.

دوال التبديل الخاصة بالكلاس String في لغة البرمجة جافا:

إسم الدالةالاستخدام
public String replace(char oldSequence, char newSequence)عند استدعائها يتم تمرير لها قيمتين عبارة عن (char) أو (CharSequence)؛ حيث تبحث في الـ (String) الذي قام باستدعائها عن القيمة الأولى التي نمررها لها و تستبدلها بالقيمة الثانية التي نمررها لها.
public String replaceAll(String regex, String replacement)تستخدم للبحث في الـنص الذي قام باستدعائها عن (Substring) ما لتبديله بنص جديد، حيث مكان الباراميتر (regex) يتم تمرير نص يمثل النص الذي نريد استبداله، ومكان الباراميتر (replacement) يتم تمرير النص الذي سيكون مكانه.
public String replaceFirst(String regex, String replacement)تستخدم هذه الدالة لتبديل نص محدد بداخل الـ (String) الذي قام باستدعائها ومكان الباراميتر (regex) يتم تمرير نص يمثل النص الذي نريد استبداله، ومكان الباراميتر (replacement) يتم تمرير النص الذي سيحل مكانه.

دوال المقارنة الخاصة بالكلاس String في لغة البرمجة جافا:

إسم الدالةالاستخدام
publicbooleanstartsWith(String prefix)تستخدم لمعرفة ما إذا كان الـ (String) الذي قام باستدعائها يبدأ بنص معين أم لا، وإذا كانت قيمة الباراميتر (prefix) موجودة في بدايته ترجع (true) غير ذلك ترجع قيمة (False).
publicbooleanendsWith(String suffix)تستخدم هذه الدالة لمعرفة ما إذا كان الـ (String) الذي قام باستدعائها ينتهي بنص معين أم لا، وإذا كانت قيمة الباراميتر (suffix) موجودة في نهايته ترجع (true) غير ذلك ترجع قيمة (False).
publicbooleanequals(Object anObject)تقارن هذه الدالة قيمة الـ (String) الذي قام باستدعائها مع قيمة أي كائن نمرره لها مكان الباراميتر (anObject)، وتقوم بإرجاع قيمة (true) في حال كانت جميع أحرفهم متطابقة غير ذلك ترجع قيمة (false).
publicbooleanequalsIgnoreCase(String str)تقوم بمقارنة قيمة الـ (String) الذي قام باستدعائها مع قيمة الـ (String) الذي نمرره لها مكان الباراميتر (str)، وتقوم بإرجاع قيمة (true) في حال كانت جميع أحرفهم متطابقة، ولا يوجد اختلاف إذا كانت الأحرف كبير أو صغيرة غير ذلك ترجع قيمة (False).
publicbooleancontentEquals(StringBuffer sb)
تقوم بمقارنة قيمة الـ (String) الذي قام باستدعائها مع قيمة كائن الـ (StringBuffer) الذي نمرره لها مكان الباراميتر (sb) وترجع قيمة (true) في حال كانت جميع أحرفهم متطابقة غير ذلك ترجع قيمة (False).
publicintcompareTo(String anotherString)
تقوم بمقارنة قيمة الـ (String) الذي قام باستدعائها مع قيمة الـ (String) الذي نمرره لها مكان الباراميتر (anotherString).
publicintcompareToIgnoreCase(String anotherString)
تقوم بمقارنة قيمة الـ (String) الذي قام باستدعائها مع قيمة الـ (String) الذي نمرره لها مكان الباراميتر (anotherString) و لا يهمها إذا كانت الأحرف كبير أو صغيرة.
publicbooleanmatches(String regex)
تقوم بمقارنة قيمة الـ (String) الذي قام باستدعائها مع التعبير النمطي الذي نمرره لها مكان الباراميتر (regex)، وترجع قيمة (true) في حال كانت جميع أحرفهم متطابقة وغير ذلك ترجع قيمة (false).
public booleanregionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)تقوم بمقارنة جزء محدد في النص الذي قام باستدعائها مع جزء محدد في الـ (String) الذي نمرره لها مكان الباراميتر (other)، وترجع قيمة (true) في حال كانت جميع أحرفهم متطابقة غير ذلك ترجع قيمة (false).

دوال المعالجة الخاصة بالكلاس String في لغة البرمجة جافا:

إسم الدالةالاستخدام
public String concat(String s)تقوم بإرجاع نسخة من الـ (String) الذي قام باستدعائها مضافاً عليه قيمة الـ (String) الذي نمرره لها مكان الباراميتر (s).
publicstatic String copyValueOf(char[] data)ترجع نسحة من مصفوفة الأحرف التي نمررها لها مكان الباراميتر (data) كنوع (String).
()publicinthashCodeترجع قيمة الـ (hash code) لل (String) الذي قام باستدعائها.
publicvoidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
تقوم بنسخ أحرف الـ (String) الذي قام باستدعائها بداخل مصفوفة الأحرف التي نمررها لها مكان الباراميتر (dst) مع تحديد النطاق الذي نريد نسخه و المكان الذي نريد وضع الأحرف فيه.
()public String internتمنع عملية وجود أكثر من (String) يحتوى على نفس المحتوى ولذلك هي مهمة جداً من أجل عملية التخزين فهي تسرع عمل المعالج و تحفظ مساحات الذاكرة.
()publicintlengthترجع رقم يمثل عدد حروف الـ (String) الذي قام باستدعائها.
()public char[] toCharArrayترجع أحرف الـ (String) الذي قام باستدعائها كمصفوفة نوعها (char).
()public String toLowerCaseترجع نسخة من الـ (String) الذي قام باستدعائها كل أحرفها صغيرة.
()public String toUpperCaseترجع نسخة من الـ (String) الذي قام باستدعائها كل أحرفها كبيرة.
()public String trimترجع نسخة من الـ (String) الذي قام باستدعائها لا تحتوي على مسافات فارغة في بدايتها و نهايتها.
public String valueOf(Object anObject)ترجع أي قيمة نمررها لها مكان الباراميتر (anObject) كـ (String).

المصدر: The Java™ TutorialsEscape sequences in JavaStrings in Java


شارك المقالة: