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

تم التحديث: ٢٧ مارس ٢٠٢٦

Remove First and Last Character From String Python vs Javascript

ملخص

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

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

طرق 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] = من الفهرس 1 حتى الفهرس -1 (غير شامل)، مما يزيل الأول والأخير

المميزات:

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

العيوب:

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

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

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

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

المميزات:

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

العيوب:

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

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

نص فارغ

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

حرف واحد

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

حرفان

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

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

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

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

طرق 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)
  • المعامل الثاني: فهرس النهاية (غير شامل، -1 تعني الحرف الأخير)
  • الفهارس السالبة تبدأ العد من النهاية

المميزات:

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

العيوب:

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

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


نشرة أسبوعية مجانية

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

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

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