توفر Java عدة طرق لإزالة السلاسل الفرعية من السلاسل.
1) استخدام طريقة الاستبدال
تنتمي هذه الطريقة إلى فئة Java String ويتم تحميلها بشكل زائد لتوفير تطبيقين مختلفين لنفس الطريقة.
في الطريقة الأولى، تتم إضافة حرف جديد إلى سلسلة ليحل محل كل حرف سابق.
بهذه الطريقة تُرجع السلسلة بالأحرف الجديدة بعد تحديث كافة الأحرف القديمة.
بناء الجملة:
string.replace(char oldChar, char newChar)
يقوم الإجراء بإرجاع هذه السلسلة إذا تعذر تحديد موقع الحرف الجديد في السلسلة.
مثال:
public class RemoveSubString { public static void main(String[] args) { String para = 'JavatPoint is for learning purpose'; String replace = para.replace('e', 'o'); System.out.println(replace); } }
انتاج:
2) استخدام Charsequence
تقوم التقنية الثانية باستبدال سلسلة الأحرف المطلوبة لـ CharSequence، وهي مجرد مجموعة من الأحرف.
بناء الجملة:
فريدي ميركوري
string.replace(char oldChar, char newChar)
تختلف هذه العملية عن الأولى من حيث أنها تستبدل سلسلة من الأحرف.
مثال:
public class RemoveSubString { public static void main(String[] arg){ String para = 'John like to learn programming'; String replace = para.replace('learn', 'teach'); System.out.println(replace); } }
انتاج:
3) استبدل السلسلة الفرعية بسلسلة فارغة
تتيح لك Java استبدال السلسلة الفرعية التي تريد حذفها من السلسلة بسهولة بسلسلة فارغة.
بناء الجملة:
string.replace(char oldChar, empty char)
مثال:
10 مل هو كم
package org.arpit.java2blog; public class RemoveSubStringFromString { public static void main(String[] arg) { String para = 'John like to learn code'; String replace = para.replace('to learn', ''); System.out.println(replace); } }
انتاج:
4) استخدام طريقة الاستبدال الأولى للسلسلة
تبحث هذه الطريقة عن سلسلة تتطابق مع تعبير عادي، وإذا تم العثور عليها، فإنها تستبدلها بالسلسلة المحددة.
خلف الكواليس، تقوم هذه الوظيفة باستخراج النص باستخدام تعبير عادي باستخدام ترجمة () و اعواد الكبريت() أساليب فئة النمط.
بناء الجملة:
string.replaceFirst(No. of digit, new digit)
سيتم إنشاء تعبير عادي لاستخراج رقم من سلسلة واستبداله برقم آخر كسلسلة.
ملحوظة: سيتم تغيير أول رقمين فقط من السلسلة بهذا الرقم؛ وستبقى الأرقام المتبقية دون تغيير.
مثال:
package org.arpit.java2blog; public class RemoveSubStringFromString { public static void main(String[] arg) { String para = 'John is 101 years old, and Mary is 20 years old'; String replaceFirst = para.replaceFirst('\d\d\d', '20'); System.out.println(replaceFirst); } }
انتاج:
5) طريقة استبدال الأول ().
ال استبدال الأول () يمكن استخدام الطريقة مع سلسلة فارغة لحذف سلسلة فرعية من سلسلة.
بناء الجملة:
string.replace(No. of digit, empty char)
مثال:
package org.arpit.java2blog.entry; public class RemoveSubStringFromString{ public static void main(String[] arg) { String para = ' John is 101 years old, and Mary is 20 years old '; String parafirstreplace = para.replaceFirst('\d\d', ''); System.out.println(parafirstreplace); }}
انتاج:
localdate java
6) استخدام طريقة استبدال الكل
ال استبدال الكل الطريقة، على النقيض من استبدال الأول ، يستخدم تعبيرًا عاديًا لاستبدال كل مثيل للسلسلة.
مشابه ل استبدال الأول ، تقوم هذه الطريقة باستخراج سلسلة باستخدام تعبير عادي باستخدام التابع ترجمة () و اعواد الكبريت() طُرق. كما تنتج أ PatternSyntaxException إذا كان التعبير العادي غير صحيح.
بناء الجملة:
String replaceAll(No. of digit, int new number)
سوف نستخدم تعبيرًا عاديًا يسحب جميع الأرقام من السلسلة ويستبدل الأرقام في كل مثيل.
د : يتعرف هذا التعبير العادي على أي رقم بين 0 و9.
مثال:
public class RemoveSubStringFromString { public static void main(String[] arg) { String para = ' John is 10 years old, and Mary is 20 years old '; String parareplace = para.replaceAll('\d\d', '30'); System.out.println(parareplace); }}
انتاج:
7) طريقة استبدال الكل ().
باستخدام طريقة استبدال الكل () يمكنك استخدام سلسلة فارغة لإزالة سلسلة فرعية من سلسلة.
بناء الجملة:
string.replace(No. of digit, empty char)
مثال:
package org.arpit.java2blog; public class RemoveSubStringFromString { public static void main(String[] arg) { String replaceAll = ' John is 10 years old, and Mary is 20 years old '; String replaceAllNumbers = replaceAll.replaceAll('\d\d', ''); System.out.println(replaceAllNumbers); } }
انتاج:
قرص مرن
8) استخدام طريقة الحذف () الخاصة بـ String Builder
من أجل إضافة وإزالة أحرف من سلسلة، فإن StringBuilder يحمل تسلسلاً قابلاً للتعديل من الأحرف.
يتم إنشاء منشئ سلسلة بسعة أولية تبلغ 16 حرفًا بواسطة الفارغ StringBuilder وظيفة كائن () {[الكود الأصلي] }، وإذا تجاوز سعة المخزن المؤقت الداخلي، فسيتم إنشاء منشئ سلسلة أكبر تلقائيًا.
يتم تحديد بداية ونهاية السلسلة الفرعية المراد حذفها من السلسلة كمعلمات int الأولى والثانية للسلسلة الفرعية يمسح() وظيفة.
الفهرس الأخير حصري لأنه يطرح واحدًا من المعلمة الثانية، لكن فهرس البداية شامل.
بناء الجملة:
public StringBuilder delete(int start,int end)
عندما تكون البداية سالبة، أو أكبر من طول الوتر، أو أكبر من نهايته، أ StringIndexOutOfBoundsException هذا خطئ. لا توجد تعديلات يتم إجراؤها عندما تكون البداية والنهاية متساويتين.
مل إلى أوقية
مثال:
public class main{ public static void main(String[] args){ StringBuilder stringBuilder = new StringBuilder('Java is language or programming language'); StringBuilder builder = stringBuilder.delete(7, 19); System.out.println(builder.toString()); } }
انتاج:
9) استخدام طريقة StringBuilder استبدال ().
الفرق الوحيد بين يستبدل() وظيفة و يمسح() الطريقة هي المعلمة الثالثة، والتي يتم استخدامها لاستبدال الأحرف التي تمت إزالتها من السلسلة.
إذا كانت هناك سلسلة كبيرة تحتاج إلى الاستبدال، فسيتم زيادة الحجم لاستيعاب طول السلسلة.
بناء الجملة:
string.replace(int start, int end, char newChar)
الوظيفة إلى سلسلة() يمكن استخدام الدالة { [الكود الأصلي] }() لطباعة السلسلة المحدثة بعد أن ترجع هذه الطريقة ملفًا StringBuilder .
مثال:
public class main{ public static void main(String[] args){ StringBuilder stringBuilder = new StringBuilder('Java is Code'); StringBuilder builder = stringBuilder.replace(8, 12, 'Programming language'); System.out.println(builder.toString()); } }
انتاج:
خاتمة
لقد تعلمت كيفية استبدال وحذف الأحرف لإزالة سلسلة فرعية من سلسلة في هذه المقالة. تتضمن التقنيات المقدمة استخدام التابعين StringBuilder للحذف() والاستبدال()، بالإضافة إلى وظائف السلسلة استبدال() وreplaceFirst() وreplaceAll().