حتى لو كانت السلسلتين تبدوان متماثلتين بالنسبة لك، فقد لا يكونا كذلك. على سبيل المثال، قد يكون لديهم مسافات بادئة وزائدة. "يرى" الكمبيوتر ذلك، لكننا لا نرى ذلك. لدى Java طريقة تقليم () خاصة لإزالة المسافات البيضاء الزائدة والبادئة من السلسلة. في هذه المقالة، سنشرح كيفية استخدام طريقة Java string Trim() في برنامج Java ونقدم بعض أمثلة التعليمات البرمجية.
توقيع أسلوب Java String ()
توقيع طريقة القطع () في Java هو كما يلي:public String trim()
كما ترون، فإنه لا يأخذ أي معلمات ويعيد قيمة سلسلة. تقوم بإرجاع نسخة من السلسلة الأصلية، ولكن مع إزالة جميع المسافات البادئة والزائدة. ملاحظة مهمة: المسافة هي أي حرف به رمز ascii أقل من أو يساوي "U + 0020". إذا كانت السلسلة الخاصة بنا عبارة عن تسلسل فارغ من الأحرف، أو كان الحرف الأول والأخير من تسلسل الأحرف الذي يمثله كائن السلسلة هذا يحتوي على رموز غير مسافة بيضاء (كما هو موضح أعلاه)، فسيتم إرجاع مرجع إلى كائن السلسلة هذا. حسنًا، إذا كانت جميع الأحرف الموجودة في السلسلة عبارة عن مسافات، فسيتم إرجاع كائن سلسلة يمثل سلسلة فارغة. إذا لم تكن هناك مسافات في بداية السطر ونهايته، فستعيد الطريقة السطر نفسه دون تغيير.
مثال على طريقة Java String Trim()
لنحصل على سلسلتين مع وبدون بعض المسافات في بداية ونهاية النص. سيكون النص هو نفسه لكلا السلسلتين.public class TrimDemo {
public static void main(String[] args) {
//java string trim() method example
String noSpacesString = "I am the Walrus";
String withSpaceString = " I am the Walrus ";
//printing the both strings out to make sure they are different
System.out.println(noSpacesString);
System.out.println(withSpaceString);
//let's print out two string comparisons. It's false
//because they are different
System.out.println(noSpacesString.equals(withSpaceString));
//trim
withSpaceString.trim();
System.out.println(noSpacesString.equals(withSpaceString));
System.out.println(noSpacesString);
System.out.println(withSpaceString);
}
}
الإخراج هو:
أنا الفظ أنا الفظ الكاذب أنا الفظ أنا الفظ
انتظر ماذا؟؟ يبدو أن طريقة Java string Trim() لا تعمل! تختلف السطرتان الأوليتان، كما ينبغي أن تكونا (الأولى ليس لها هوامش، والثانية بها ثلاث مسافات في المقدمة وواحدة بعد النص). ثم قمنا بمقارنة الخطين وطبعنا النتيجة. ومن الواضح أن هذا خطأ لأن هذه الخطوط مختلفة. بعد ذلك، قمنا بتطبيق طريقة القطع على السلسلة بمسافات على طول الحواف وقارنا السلاسل مرة أخرى... ولسبب ما حصلنا على خطأ مرة أخرى، على الرغم من أنها الآن يجب أن تكون هي نفسها! ثم، في حالة قررنا طباعة السطور بأنفسهم، ماذا لو حدثت معجزة؟ للأسف... كانت الخطوط مختلفة ولا تزال باقية. هل خمنت بالفعل ما هي المشكلة؟ النقطة المهمة هي أن السلاسل في Java هي كائنات غير قابلة للتغيير. لذا فإن طريقة القطع () لا تُرجع السلسلة الأصلية، بل سلسلة جديدة. على أية حال، يجب علينا اختبار طريقة القطع () هنا، لذلك دعونا نكتب برنامجًا آخر. سنقوم هنا بتسمية نسخة من السلسلة التي تم إنشاؤها كنتيجة لطريقة القطع () للعمل معها. دعونا أيضًا نتحقق من السلسلتين للتأكد من تكافؤهما.
public class TrimDemo2 {
public static void main(String[] args) {
String noSpacesString = "I am the Walrus";
String withSpaceString = " I am the Walrus ";
String result = withSpaceString.trim();
System.out.println(noSpacesString);
System.out.println(result);
System.out.println(noSpacesString.equals(result));
}
}
هنا هو الإخراج:
أنا الفظ أنا الفظ صحيح
البنغو! الآن يعمل كما توقعنا. تذكر أن ثبات السلسلة أمر مهم جدًا لكل مطور Java.
GO TO FULL VERSION