String.strip() مقابل trim()
استخدم التجريد الواعي بـ Unicode بـ strip() و stripLeading() و stripTrailing().
مقارنة الكود
✕ Java 8
// trim() only removes ASCII whitespace // (chars <= U+0020) String clean = str.trim();
✓ Java 11+
// strip() removes all Unicode whitespace String clean = str.strip(); String left = str.stripLeading(); String right = str.stripTrailing();
هل ترى مشكلة في هذا الكود؟ أخبرنا.
لماذا يتفوق الأسلوب الحديث
صحيحة من حيث Unicode
تتعامل مع جميع أحرف المسافة البيضاء من كل كتابة.
اتجاهية
stripLeading() و stripTrailing() للتجريد من جهة واحدة.
أقل أخطاءً
لا مسافات بيضاء مفاجئة في النصوص الدولية.
الأسلوب القديم
trim()
الأسلوب الحديث
strip()
منذ JDK
11
الصعوبة
مبتدئ
دعم JDK
String.strip() مقابل trim()
متاح
متاح على نطاق واسع منذ JDK 11 (سبتمبر 2018)
كيف يعمل
تُزيل trim() فقط الأحرف ≤ U+0020 (أحرف التحكم ASCII والمسافة). تستخدم strip() الدالة Character.isWhitespace() التي تتعامل مع مسافات Unicode مثل المسافة غير الفاصلة والمسافة الأيديوغرافية وغيرها.
توثيق ذو صلة