الانتقال إلى المحتوى الرئيسي

كيفية الحصول على سلسلة فرعية تصل إلى حرف معين في سلسلة بيثون

بايثون هي لغة برمجة قوية ومرنة توفر أدوات متنوعة للعمل مع السلاسل. واحدة من المهام الشائعة عند العمل مع السلاسل هي الحصول على سلسلة فرعية تصل إلى حرف معين.

يمكن استخدام طرق بايثون المدمجة مثل الانقسام() والفهرس() للتعامل مع هذه المهمة. تقسم طريقة الانقسام() سلسلة إلى أجزاء بحرف معين ، وتسمح لك طريقة الفهرس () بالعثور على موضع حرف معين في سلسلة.

على سبيل المثال ، إذا كان لدينا سلسلة "مرحبا ، العالم!"ونريد الحصول على سلسلة فرعية قبل الفاصلة الأولى ، يمكننا استخدام طريقة الانقسام (). ستكون النتيجة سلسلة "مرحبا".

إذا علمنا أن الحرف الذي نريد الحصول على السلسلة الفرعية سيكون دائما في السلسلة ، فيمكننا استخدام طريقة الفهرس (). وسوف يعود موقف الحرف المطلوب ، ونحن سوف تكون قادرة على الحصول على سلسلة فرعية لذلك باستخدام شريحة.

في هذه المقالة ، سنلقي نظرة على أمثلة لاستخدام هذه الطرق ونوضح كيفية الحصول على سلسلة فرعية تصل إلى حرف معين في سلسلة بايثون.

  1. كيفية الحصول على سلسلة فرعية بيثون
  2. 1. باستخدام التقطيع
  3. مثال:
  4. 2. باستخدام طريقة الانقسام( )
  5. مثال:
  6. 3. باستخدام طريقة البحث ()
  7. مثال:
  8. باستخدام طريقة الشريحة
  9. باستخدام طريقة الانقسام
  10. استخدام الفهارس
  11. باستخدام وظيفة البحث
  12. خاتمة
  13. باستخدام وظيفة رفند
  14. استخدام التعبيرات العادية
  15. باستخدام وظيفة الفهرس
  16. سؤال وجواب

كيفية الحصول على سلسلة فرعية بيثون

في بيثون ، هناك عدة طرق للحصول على سلسلة فرعية من سلسلة. هنا سننظر في عدة طرق مفيدة.

1. باستخدام التقطيع

باستخدام الشرائح ، يمكنك الحصول على سلسلة فرعية عن طريق تحديد فهارس البداية والنهاية. بناء الجملة كما يلي:

سلسلة فرعية = سلسلة [البداية: النهاية]

- فهرس الحرف التالي للحرف الأخير من السلسلة الفرعية (باستثناء ذلك).

مثال:

سلسلة = " مرحبا ، العالم!"

سلسلة فرعية = سلسلة [7: 12]

طباعة (سلسلة فرعية) # النتيجة: العالم

2. باستخدام

طريقة يقسم سلسلة إلى سلاسل فرعية باستخدام الفاصل المحدد وإرجاع قائمة من سلاسل فرعية. يمكنك الحصول على السلسلة الفرعية المطلوبة من القائمة.

مثال:

string = "Hello, world!"

substring = string.split(",")[1]

print(substring.strip()) # Результат: world

3. Использование метода

находит первое вхождение подстроки в строку и возвращает его индекс. Зная индекс, можно получить подстроку.

Пример:

string = "Hello, world!"

index = string.find("world")

substring = string[index:index+5]

print(substring) # Результат: world

هذه ليست سوى أمثلة قليلة من الأساليب التي سوف تساعدك على الحصول على سلسلة فرعية المطلوب من سلسلة في بيثون. اعتمادا على المهمة والبيانات التي تقوم بمعالجتها ، قد تحتاج إلى اختيار الطريقة الأنسب.

باستخدام طريقة الشريحة

تسمح لك طريقة الشريحة في لغة برمجة بايثون بالحصول على سلسلة فرعية تصل إلى حرف معين في سلسلة. للقيام بذلك ، نحدد مواضع البداية والنهاية في طريقة الشريحة.

مثال:

سلسلةطريقة الشريحةسلسلة فرعية
'مرحبا ، العالم!’'مرحبا ، العالم!'[:5]'مرحبا'
'بيثون''بيثون'[: 3]'بيت'

في هذا المثال ، استخدمنا الفهارس من 0 إلى 4 للحصول على سلسلة فرعية تصل إلى الحرف 5. يبقى الخط الأصلي دون تغيير.

تسمح لك طريقة الشريحة أيضا بتحديد الخطوة التي يتم بها تحديد الأحرف. على سبيل المثال:

السلسلةطريقة الشريحةسلسلة فرعية
'مرحبا ، العالم!’'مرحبا ، العالم!'[::2]هلو رأ!’
'بيثون''بيثون' [1:: 2]'نعم'

في هذا المثال ، استخدمنا الفهرس 2 كخطوة. وهكذا ، اخترنا كل حرف ثان من السلسلة.

تقوم طريقة الشريحة بإرجاع سلسلة جديدة تحتوي على السلسلة الفرعية المحددة. إذا لم تحدد مواضع البداية والنهاية ، فستقوم الطريقة بإرجاع السلسلة الأصلية.

وبالتالي ، فإن طريقة الشريحة هي طريقة مريحة وفعالة للحصول على سلسلة فرعية تصل إلى حرف معين في سلسلة بيثون.

باستخدام طريقة الانقسام

تسمح لك طريقة الانقسام في بايثون بتقسيم سلسلة إلى سلاسل فرعية بواسطة فاصل محدد وإعادتها كقائمة. هذه الطريقة مفيدة للغاية عندما تحتاج إلى الحصول على سلسلة فرعية تصل إلى حرف معين في سلسلة.

لاستخدام طريقة الانقسام ، يجب أن نسميها على خط عن طريق تمرير فاصل كوسيطة. يمكن أن يكون الفاصل حرفا أو سلسلة أو حتى تعبيرا عاديا.

مثال على استخدام طريقة الانقسام لتقسيم سلسلة تصل إلى حرف معين:

سلسلة = " مرحبا ، العالم! مرحبا بكم في بايثون"

سلسلة فرعية = سلسلة.انقسام (" ، " ) [0]

طباعة (سلسلة فرعية) # المخرجات: مرحبا

في المثال أعلاه ، نستخدم طريقة الانقسام لتقسيم سلسلة بحرف الفاصلة ("،"). ستكون النتيجة قائمة تحتوي على فرعين فرعيين: "مرحبا" و " العالم! مرحبا بكم في بايثون". ثم نأخذ السلسلة الفرعية الأولى من القائمة باستخدام الفهرس [0] ونخزنها في متغير السلسلة الفرعية.

ثم نقوم بإخراج قيمة متغير السلسلة الفرعية ، وستكون النتيجة سلسلة"مرحبا". حصلنا على السلسلة الفرعية قبل التكرار الأول لحرف الفاصلة في السلسلة الأصلية.

يمكن أيضا استخدام طريقة الانقسام لتقسيم سلسلة إلى حرف معين إذا كان هذا الحرف هو الأول في السلسلة:

سلسلة = " بايثون رائع!"

سلسلة فرعية = سلسلة.انقسام () [0]

طباعة (سلسلة فرعية) # المخرجات: بيثون

في هذه الحالة ، لا نحدد فاصلا في طريقة الانقسام ، لذلك سيستخدم أحرف المسافة وعلامة التبويب كمحددات افتراضيا. وستكون النتيجة قائمة مع سلسلة فرعية واحدة "بيثون" (حيث لا توجد مسافات أو علامات تبويب في السلسلة الأصلية) ، ونحن نأخذ السلسلة الفرعية الأولى من القائمة.

يتيح لك استخدام طريقة الانقسام الحصول على سلسلة فرعية تصل إلى حرف معين في سلسلة باستخدام رمز بسيط وبدون استخدام مكتبات إضافية أو خوارزميات معقدة. هذا يجعل طريقة الانقسام أداة مريحة للغاية لمعالجة السلاسل في بايثون.

استخدام الفهارس

في بيثون ، يمكن استخدام الفهارس للحصول على سلسلة فرعية تصل إلى حرف معين في سلسلة. الفهرس هو رقم موجب أو سالب يشير إلى موضع حرف في سلسلة.

يمكنك استخدام شرائح للحصول على سلسلة فرعية تصل إلى حرف معين. تسمح لك الشرائح بتحديد العناصر من صف بواسطة نطاق معين من الفهارس.

للحصول على سلسلة فرعية تصل إلى حرف معين ، يجب عليك تحديد الفهرس الأولي للحرف الأول من السلسلة الفرعية المطلوبة وفهرس الحرف الذي يتبع السلسلة الفرعية المطلوبة. في هذه الحالة ، يتم تضمين الحرف مع الفهرس الأولي ، ولكن لا يتم تضمين الحرف مع الفهرس النهائي.

على سبيل المثال ، للحصول على سلسلة فرعية قبل الحرف ' س ' في سلسلة:

سلسلة = " مرحبا ، العالم!"

سلسلة فرعية = سلسلة [: سلسلة.الفهرس ('س')]

طباعة (سلسلة فرعية) # المخرجات:"الجحيم"

إذا كنت بحاجة إلى تضمين الحرف الذي تذهب إليه الشريحة في السلسلة الفرعية ، فيمكنك زيادة الفهرس حسب الوحدة:

سلسلة = " مرحبا ، العالم!"

سلسلة فرعية = سلسلة [: سلسلة.مؤشر ('س') + 1]

طباعة (سلسلة فرعية) # المخرجات: "مرحبا"

إذا لم يكن هناك حرف في السلسلة ، سيتم طرح استثناء فالويرور. لتجنب حدوث خطأ ، يمكنك استخدام طرق السلسلة مثل البحث أو البدء للتحقق من وجود حرف قبل استخدام الفهرس.

يمكنك أيضا استخدام الفهارس السلبية للحصول على سلسلة فرعية تصل إلى حرف معين ، بدءا من نهاية السلسلة:

سلسلة = " مرحبا ، العالم!"

سلسلة فرعية = سلسلة [: سلسلة.ريندكس ('س')]

طباعة (سلسلة فرعية) # المخرجات: "مرحبا ، ث"

وبالتالي ، فإن استخدام الفهارس يجعل من السهل والسريع الحصول على سلسلة فرعية تصل إلى حرف معين في سلسلة بايثون.

باستخدام وظيفة البحث

في بايثون ، هناك عدة طرق للحصول على سلسلة فرعية تصل إلى حرف معين في سلسلة. إحدى هذه الطرق هي استخدام وظيفة البحث ().

تتيح لك وظيفة البحث () العثور على فهرس التكرار الأول لحرف معين أو سلسلة فرعية في سلسلة. إذا لم يتم العثور على الحرف أو السلسلة الفرعية ، تقوم الدالة بإرجاع القيمة -1.

لاستخدام وظيفة البحث () ، تحتاج أولا إلى تحديد السلسلة التي سيتم إجراء البحث فيها ، ثم تحديد الحرف أو السلسلة الفرعية المطلوبة.

مثال:

سلسلة = " مرحبا ، العالم!"

مؤشر = سلسلة.تجد ("،")

سلسلة فرعية = سلسلة [: فهرس]

طباعة (سلسلة فرعية) # مخرجات "مرحبا"

في هذا المثال ، نحن نبحث عن أول ظهور للحرف " ، "في السلسلة" مرحبا ، العالم!"باستخدام وظيفة البحث (). بعد ذلك ، باستخدام شريحة خط ، نحصل على سلسلة فرعية من بداية السطر إلى الحرف الموجود وإخراجها.

إذا كنت تريد العثور على جميع تكرارات حرف أو سلسلة فرعية ، فيمكنك استخدام حلقة تكرر وظيفة البحث() مع كل فهرس جديد للحرف أو السلسلة الفرعية التي تم العثور عليها.

مثال:

سلسلة = " مرحبا ، العالم!"

مؤشر = سلسلة.تجد ("،")

بينما مؤشر != -1:

سلسلة فرعية = سلسلة [: فهرس]

طباعة (سلسلة فرعية)

مؤشر = سلسلة.البحث ("،"،فهرس + 1)

في هذا المثال ، نجد جميع تكرارات الحرف " ، "في السلسلة" مرحبا ، العالم!"وإخراج جميع السلاسل الفرعية حتى الحرف الموجود. للقيام بذلك ، نستخدم حلقة تتكرر حتى ترجع وظيفة البحث () -1 (أي لم يتم العثور على تكرارات جديدة للحرف " ، " بعد الآن).

خاتمة

وظيفة البحث () هي أداة مفيدة للحصول على سلسلة فرعية تصل إلى حرف معين في سلسلة بيثون. يسمح لك بالعثور على التكرارات الأولى أو كلها لحرف أو سلسلة فرعية واستخدامها لمزيد من معالجة البيانات.

باستخدام وظيفة رفند

. تبحث هذه الوظيفة عن آخر ظهور للحرف المحدد أو السلسلة الفرعية وتعيد فهرس هذا الحدوث ، مع العد من بداية السلسلة.

هو كما يلي:

المعلمةالوصف
من سوبسترالسلسلة أو الحرف الذي تريد الحصول على السلسلة الفرعية
(اختياري)الفهرس لبدء البحث من
(اختياري)الفهرس لإنهاء البحث على

إرجاع فهرس آخر ظهور لسلسلة فرعية أو حرف محدد. إذا لم يتم العثور على الحرف المحدد أو السلسلة الفرعية ، تقوم الدالة بإرجاع القيمة -1.

:

  1. حدد السلسلة التي تريد العثور فيها على آخر ظهور للحرف:
  2. سلسلة = " مرحبا ، العالم!"

  3. :
  4. مؤشر = سلسلة.رفند ("،")

  5. إخراج المؤشر الناتج:
  6. طباعة (فهرس)

نتيجة تنفيذ البرنامج:

  1. 6

استخدام التعبيرات العادية

. أنها تسمح لك للبحث ، مقارنة ، واستبدال سلاسل فرعية في سلسلة على أساس أنماط معينة.

. فيما يلي مثال على استخدام تعبير عادي للحصول على سلسلة فرعية تصل إلى حرف معين:

"'بايثون

استيراد إعادة

سلسلة = " مرحبا ، العالم!"

نمط = ص"،"

النتيجة = إعادة.انقسام (نمط ، سلسلة)

طباعة (النتيجة[0]) # "مرحبا"

"`

) والحصول على سلسلة فرعية "مرحبا".

. تسمح لك بإجراء عمليات أكثر تعقيدا باستخدام التعبيرات العادية.

التعبيرات العادية تسمح للبحث مرنة وقوية ومعالجة النصوص في بيثون. يمكن أن تكون مفيدة في العديد من السيناريوهات ، مثل معالجة بيانات السلسلة والتحقق من صحة إدخال المستخدم وتحليل ملفات السجل والمزيد.

باستخدام وظيفة الفهرس

في بيثون يستخدم للعثور على مؤشر أول ظهور لحرف معين أو سلسلة فرعية في سلسلة. تقوم هذه الوظيفة بإرجاع فهرس الحرف الأول أو السلسلة الفرعية وتلقي استثناء إذا لم يتم العثور على الحرف أو السلسلة الفرعية.

تحتاج إلى استدعاء هذه الوظيفة على سلسلة عن طريق تمرير الحرف أو السلسلة الفرعية التي تريد العثور عليها كوسيطة. على سبيل المثال:

سلسلة = " مرحبا ، العالم!"

مؤشر = سلسلة.الفهرس ("،")

طباعة (فهرس)

سيبحث عن أول ظهور للحرف " ، "في السلسلة" مرحبا ، العالم!". ستكون النتيجة 7 ، لأن فهرسة الأحرف في بايثون تبدأ من 0. وبالتالي ، فإن الحرف " ، " سيكون في الموضع مع الفهرس 7.

. على سبيل المثال:

سلسلة = " مرحبا العالم!"

حاول:

مؤشر = سلسلة.فهرس ("!")

طباعة (فهرس)

باستثناء القيمةخطأ:

طباعة ("لم يتم العثور على الحرف.")

في هذا المثال ، منذ الحرف"!"لم يتم العثور في سلسلة" مرحبا العالم!"،سيتم طباعة الرسالة " لم يتم العثور على الرمز."

يمكن استخدامه أيضا للبحث عن سلسلة فرعية. على سبيل المثال:

سلسلة = "مرحبا بكم في كود رابيدز"

مؤشر = سلسلة.الفهرس ("الرمز")

طباعة (فهرس)

فإنه سيتم البحث عن أول حدوث سلسلة فرعية " رمز "في سلسلة"مرحبا بكم في كود رابيدز". ستكون النتيجة 20 ، حيث يبدأ "الرمز" الفرعي في الموضع مع الفهرس 20.

. على سبيل المثال:

سلسلة = "أبابابابك"

بحث = "أب"

الفهارس = []

البداية = 0

بينما صحيح:

حاول:

مؤشر = سلسلة.فهرس (بحث ، بداية)

الفهارس.إلحاق (فهرس)

البداية = الفهرس + 1

باستثناء القيمةخطأ:

استراحة

طباعة (فهارس)

في هذا المثال ، سوف تجد حلقة جميع تكرارات السلسلة الفرعية " أب "في سلسلة"أبابابابك". ستكون النتيجة قائمة [0, 2, 4, 6], الذي يحتوي على فهارس جميع تكرارات السلسلة الفرعية "أب".

سؤال وجواب