كيفية إزالة حرف من سلسلة في لغة الجافا

المقدمة

في هذا المقال، ستتعلم بعض الطرق المختلفة لإزالة حرف من كائن String في لغة البرمجة جافا. على الرغم من أن فئة String لا تحتوي على طريقة remove()، يمكنك استخدام تغييرات على طريقتي replace() وsubstring() لإزالة الأحرف من السلاسل.

ملحوظة: الكائنات String لا تقبل التغيير، وهذا يعني أنها لا يمكن تعديلها بعد إنشائها. جميع طرق فئة String المذكورة في هذا المقال تعيد كائن String جديدًا ولا تقوم بتغيير الكائن الأصلي. نوع السلسلة التي تستخدمها يعتمد على متطلبات برنامجك. اعرف المزيد حول أنواع أخرى من فئات السلاسل ولماذا السلاسل لا تتغير في جافا.

تحتوي فئة String على الطرق التالية التي يمكنك استخدامها لاستبدال أو إزالة الأحرف:

  • replace(char oldChar, char newChar): تعيد كائن String جديدًا يستبدل جميع حالات oldChar في السلسلة المعطاة بـ newChar. يمكنك أيضًا استخدام طريقة replace()، بتنسيق replace(CharSequence target, CharSequence replacement)، لتعيد كائن String جديدًا يستبدل فقرة في السلسلة المعطاة.
  • replaceFirst(String regex, String replacement): تعيد كائن نصيًا جديدًا يستبدل الجزء الفرعي الأول الذي يتطابق مع التعبير العادي في السلسلة المعطاة بالاستبدال.
  • replaceAll(String regex, String replacement): تعيد كائن نصيًا جديدًا يستبدل كل جزء فرعي يتطابق مع التعبير العادي في السلسلة المعطاة بالاستبدال.
  • substring(int start, int end): تعيد كائن نصيًا جديدًا يحتوي على متسلسلة فرعية من الأحرف الموجودة حاليًا في هذا التسلسل. تبدأ المتسلسلة الفرعية في البداية المحددة وتمتد إلى الحرف في المؤشر نهاية ناقص 1.

يرجى ملاحظة أن الوسيط الأول لطرق replaceAll() و replaceFirst() هو تعبير عادي. يمكنك استخدام التعبير العادي لإزالة نمط من سلسلة.

ملحوظة: يجب عليك استخدام علامات الاقتباس المزدوجة للإشارة إلى قيم السلسلة الحرفية الحرفية عند استخدام طرق replace(). إذا استخدمت علامات الاقتباس الفردية ، فإن JRE يفترض أنك تشير إلى ثابت حرفي وستحصل على خطأ عند تجميع البرنامج.

إزالة حرف من سلسلة في جافا

يمكنك إزالة جميع حالات حرف معين من سلسلة في جافا باستخدام الطريقة replace() لاستبدال الحرف بسلسلة فارغة. يقوم الكود المثال التالي بإزالة كل حالات الحرف الصغير “a” من السلسلة المعطاة:

String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
Output
bc ABC 123 bc

إزالة الفراغات من سلسلة في جافا

يمكنك إزالة الفراغات من سلسلة في جافا باستخدام الطريقة replace() لاستبدال الفراغات بسلسلة فارغة. يقوم الكود المثال التالي بإزالة كل الفراغات من السلسلة المعطاة:

String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
Output
abcABC123abc

إزالة متسلسل فرعي من سلسلة في جافا

يمكنك إزالة فقط أول حالة لحرف أو متسلسل فرعي من سلسلة في جافا باستخدام الطريقة replaceFirst() لاستبدال الحرف أو المتسلسل الفرعي بسلسلة فارغة. يقوم الكود المثال التالي بإزالة أول حالة لـ “ab” من السلسلة المعطاة:

String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Output
c ABC 123 abc

إزالة جميع الحروف الصغيرة من سلسلة في جافا

يمكنك استخدام تعبير منتظم لإزالة الحروف التي تطابق نمطًا معينًا من سلسلة في جافا باستخدام طريقة replace.All() لاستبدال الحروف بسلسلة فارغة. يزيل الكود المثالي التالي جميع الحروف الصغيرة من السلسلة المعطاة:

String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
Output
ABC 123

إزالة آخر حرف من سلسلة في جافا

لا يوجد طريقة محددة لاستبدال أو إزالة الحرف الأخير من سلسلة، ولكن يمكنك استخدام طريقة String substring() لقص السلسلة. يزيل الكود المثالي التالي الحرف الأخير من السلسلة المعطاة:

String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Output
abc ABC 123 ab

جربها

الملف المثال التالي يعرف فئة تحتوي على جميع أمثلة الطرق المقدمة في هذا المقال ويقوم بطباعة النتائج بعد استدعاء كل طريقة على السلسلة المعطاة. يمكنك استخدام هذا الشيفرة المثالية لتجربتها بنفسك على سلاسل مختلفة باستخدام أنماط مطابقة مختلفة وقيم استبدال مختلفة.

إذا كان لديك Java مثبتًا ، يمكنك إنشاء ملف جديد يسمى JavaStringRemove.java وإضافة الشيفرة التالية إلى الملف:

JavaStringRemove.java

public class JavaStringRemove {

	public static void main(String[] args) {
    	String str = "abc ABC 123 abc";

		// إزالة حرف من سلسلة في Java
		System.out.println("String after removing all the 'a's = "+str.replace("a", ""));

		// إزالة المسافات من سلسلة في Java
		System.out.println("String after removing all the spaces = "+str.replace(" ", ""));

		// إزالة مقطع من سلسلة في Java
		System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));

		// إزالة جميع الحروف الصغيرة من سلسلة في Java
		System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));

		// إزالة آخر حرف من سلسلة في Java
		System.out.println("String after removing the last character = "+str.substring(0, str.length()-1));
	}

}

قم بتجميع البرنامج وتشغيله:

  1. javac JavaStringRemove.java
  2. java JavaStringRemove

ستحصل على الناتج التالي:

Output
String after removing all the 'a's = bc ABC 123 bc String after removing all the spaces = abcABC123abc String after removing the first 'ab' substring = c ABC 123 abc String after removing all the lowercase letters = ABC 123 String after removing the last character = abc ABC 123 ab

تعمل كل طريقة في فئة المثال JavaStringRemove على السلسلة المعطاة. يظهر الناتج أن الأحرف المحددة في كل طريقة تمت إزالتها من السلسلة.

استنتاج

في هذا المقال تعلمت طرقًا متنوعة لإزالة الأحرف من السلاسل في لغة البرمجة جافا باستخدام أساليب من فئة String، بما في ذلك replace()، replaceAll()، replaceFirst()، و substring(). استمر في تعلمك مع مزيد من دروس جافا.

Source:
https://www.digitalocean.com/community/tutorials/java-remove-character-string