تخطَّ إلى المحتوى
NerdLevelTech
تطوير الواجهة الخلفية

إزالة الحرف الأول والأخير من السلسلة النصية Python مقابل JavaScript

إزالة الحرف الأول والأخير من سلسلة نصية — Python slice مقابل JavaScript slice/substring. الحالات الاستثنائية، التعامل مع Unicode، وأمثلة مكتوبة بلغة TypeScript.

Nerd Level Techنُشر في تم التحديث ٧ دقائق للقراءةEnglish
صورة غلاف: إزالة الحرف الأول والأخير من السلسلة النصية Python مقابل JavaScript

ملخص

Python: استخدم تقطيع النصوص (string slicing) text[1:-1] (الأبسط) أو text[1:len(text)-1] (الأكثر صراحة). JavaScript: استخدم .slice(1, -1) (الطريقة الحديثة والموصى بها) أو .substring(1, length - 1) (طريقة API الأقدم، لا تدعم الفهارس السالبة). كلتا اللغتين تتعاملان مع النصوص الفارغة أو المكونة من حرف واحد بشكل متطابق — حيث تُرجعان نصاً فارغاً بأمان.

تعد إزالة الحرفين الأول والأخير عملية شائعة في معالجة النصوص (مثل إزالة علامات الاقتباس أو الأقواس)، وتنظيف البيانات (إزالة المحددات)، ومعالجة النصوص بشكل عام. ورغم بساطتها، تختلف الصيغة البرمجية بين اللغات، كما أن التعامل مع الحالات الخاصة (edge cases) أمر مهم. يغطي هذا المرجع كافة الطرق مع أمثلة عملية.

طرق Python

python
text = "Hello"
result = text[1:-1]
print(result)  # "ell"

# More examples:
text = "Programming"
result = text[1:-1]
print(result)  # "rogrammin"

# Remove quotes
text = '"Hello, World!"'
result = text[1:-1]
print(result)  # 'Hello, World!'

# Remove brackets
text = "[1, 2, 3]"
result = text[1:-1]
print(result)  # "1, 2, 3"

لماذا تنجح طريقة [1:-1]:

  • [1:] = من الفهرس ١ حتى النهاية
  • [:-1] = من البداية حتى الفهرس -1 (الحرف الأخير، مستبعد)
  • [1:-1] = من الفهرس ١ حتى الفهرس -1 (غير شامل)، مما يزيل الأول والأخير

المميزات:

  • متوافقة مع أسلوب Python (idiomatic)
  • موجزة
  • سريعة (عملية أصلية في اللغة)

العيوب:

  • أقل صراحة (قد تربك المبتدئين)

الطريقة ٢: التقطيع [1:len(text)-1] (صريحة)

python
text = "Hello"
result = text[1:len(text)-1]
print(result)  # "ell"

# Equivalent to [1:-1], but more verbose

المميزات:

  • توضح صراحة "من ١ إلى الطول - ١"
  • أسهل في الفهم للمبتدئين

العيوب:

  • تتطلب كتابة أكثر
  • أبطأ (قليلاً — بسبب استدعاء len())
  • ليست الأسلوب الأمثل في Python

الحالات الخاصة: Python

نص فارغ

python
text = ""
result = text[1:-1]
print(result)  # "" (returns empty string, doesn't error)

حرف واحد

python
text = "A"
result = text[1:-1]
print(result)  # "" (removes the only character)

حرفان

python
text = "AB"
result = text[1:-1]
print(result)  # "" (removes both)

ثلاثة أحرف (الحد الأدنى لنتيجة غير فارغة)

python
text = "ABC"
result = text[1:-1]
print(result)  # "B" (keeps middle character)

سلوك آمن ومتوقع: تقطيع النصوص في Python لا يسبب أخطاء أبداً عند استخدام فهارس خارج النطاق، بل يُرجع المتاح فقط.

طرق JavaScript

JavaScript
const text = "Hello";
const result = text.slice(1, -1);
console.log(result);  // "ell"

// More examples:
console.log("Programming".slice(1, -1));  // "rogrammin"
console.log('"Hello, World!"'.slice(1, -1));  // "Hello, World!"
console.log("[1, 2, 3]".slice(1, -1));  // "1, 2, 3"

لماذا تنجح طريقة .slice(1, -1):

  • المعامل الأول: فهرس البداية (١)
  • المعامل الثاني: فهرس النهاية (غير شامل، -1 تعني الحرف الأخير)
  • الفهارس السالبة تبدأ العد من النهاية

المميزات:

  • تعمل في جميع المتصفحات الحديثة
  • آمنة في الحالات الخاصة
  • سهلة القراءة

العيوب:

  • لا توجد فعلياً

الطريقة ٢: substring(١, length - ١) (بديل أقدم)

JavaScript

ابقَ على مسار النيرد

رسالتان كلّ أسبوع: شرح معمّق لموضوع واحد يوم الاثنين، وملخّص يوم الخميس للدورات والأدلّة والمقالات والبودكاست والوظائف.

بدون إزعاج. إلغاء الاشتراك في أي وقت.