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

كيفية العثور على مساحة في السطر ج-دليل بسيط

  • الدكتور عبد الغني المنتفق
  • الأسئلة

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

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

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

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

  1. العثور على مسافة في خط هو دليل بسيط
  2. 1. التكرار على الشخصيات
  3. 2. باستخدام الوظائف المضمنة
  4. 3. التعبيرات العادية
  5. خاتمة
  6. كيفية تحديد ما إذا كان هناك مسافة في الخط
  7. 1. السلسلة.يشمل () طريقة
  8. 2. السلسلة.طريقة الفهرس ()
  9. 3. على حلقة وسلسلة.شارات()
  10. الطريقة هي طرق للبحث عن مسافة في سلسلة
  11. نصائح مفيدة للعمل مع المسافات في الخط
  12. 1. إزالة المسافات في بداية ونهاية السطر
  13. 2. استبدال مسافات متعددة بواحد
  14. 3. تقسيم الخط إلى كلمات
  15. 4. التحقق من وجود مسافات في خط
  16. 5. حساب عدد المسافات في السطر
  17. 6. باستخدام جدول الأحرف أسي للمساحة
  18. سؤال وجواب
  19. كيف يمكنني العثور على مسافة في سلسلة باستخدام وظيفة البحث?
  20. كيف أجد كل المسافات في سلسلة باستخدام طريقة الانقسام?
  21. هل من الممكن استخدام التعبيرات العادية للعثور على مسافات في سلسلة?

العثور على مسافة في خط هو دليل بسيط

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

1. البحث عن الشخصيات

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

شارع = "مثال على سلسلة مع مسافة"

لشار في شارع:

إذا شار == " ":

طباعة ("وجدت مسافة في السلسلة!")

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

2. باستخدام الوظائف المضمنة

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

دعونا شارع = "مثال على سلسلة مع مسافة";

إذا (شارع.يشمل ("")) {

وحدة التحكم.سجل ("وجدت مسافة في السلسلة!");

}

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

3. التعبيرات العادية

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

دعونا شارع = "مثال على سلسلة مع مسافة";

دعونا نمط = / \ ق/;

إذا (شارع.مباراة (نمط)) {

وحدة التحكم.سجل ("وجدت مسافة في السلسلة!");

}

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

خاتمة

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

كيفية تحديد ما إذا كان هناك مسافة في الخط

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

1. طريقة السلسلة.يشمل()

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

كونست ستر = 'مثال على سلسلة مع الفضاء';

كونست هاسبيس = شارع.يشمل ('');

إذا (هاسبيس) {

وحدة التحكم.سجل ('هناك مسافة في السلسلة');

} آخر {

وحدة التحكم.سجل ('لا توجد مساحة في السطر');

}

.

2. السلسلة.طريقة الفهرس ()

. لتحديد وجود مسافة ، يمكنك استخدام التعليمات البرمجية التالية:

كونست ستر = 'مثال على سلسلة مع الفضاء';

كونست سبيس إندكس = شارع.إندكسوف(' ');

إذا (سبيس إندكس !== -1) {

وحدة التحكم.سجل ('هناك مسافة في السطر');

} آخر {

وحدة التحكم.سجل ('لا توجد مساحة في السطر');

}

هذا يعني أنه تم العثور على مسافة ، وإلا فلن تكون هناك مسافة في الخط.

3. على حلقة وسلسلة.طريقة الشارات ()

إرجاع حرف سلسلة في الفهرس المحدد. مثال على الكود:

كونست ستر = 'مثال على سلسلة مع مسافات';

دع حساب الفضاء = 0;

ل (اسمحوا لي = 0; أنا < شارع.الطول ؛ أنا {) {

إذا (شارع.شارات (أنا)==='') {

عد الفضاء++;

}

}

وحدة التحكم.سجل ('في خط' ، سباسيكونت ، 'مسافات');

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

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

طرق البحث عن مسافة في سلسلة

1. طريقة الفهرس ():

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

2. طريقة المطابقة ():

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

3. طريقة الانقسام():

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

4. شارات () حلقة وطريقة:

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

5. طريقة البحث ():

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

مقارنة طرق البحث عن مسافة في سلسلة

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

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

1. إزالة المسافات في بداية ونهاية السطر

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

2. استبدال مسافات متعددة بواحد

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

نص = نص.يستعاض عن (""،"")

3. تقسيم السلسلة إلى كلمات

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

الكلمات = النص.انقسام()

4. التحقق من وجود مسافات في الخط

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

إذا "" في النص:

طباعة ("المسافات موجودة")

5. حساب عدد المسافات في السطر

لحساب عدد المسافات في السطر ، يمكنك استخدام طريقة العد (). يقوم بإرجاع عدد مرات تكرار الحرف المحدد في السلسلة:

الفضاء_العد = النص.العد ("")

6. باستخدام جدول الأحرف أسي لمسافة

الفضاء هو حرف أسي مع رمز 32. إذا كنت بحاجة إلى التحقق مما إذا كان حرف في سلسلة هو الفضاء ، يمكنك مقارنة التعليمات البرمجية الخاصة به مع رمز الفضاء أسي:

إذا أورد (حرف) = = 32:

طباعة ("هذه فجوة")

يتوفر مزيد من المعلومات حول جدول أحرف أسي في وثائق بايثون.

سؤال وجواب

كيف يمكنني العثور على مسافة في سلسلة باستخدام وظيفة البحث?

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

كيف أجد كل المسافات في سلسلة باستخدام طريقة الانقسام?

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

هل من الممكن استخدام التعبيرات العادية للعثور على مسافات في سلسلة?

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

Да, с помощью регулярных выражений можно найти пробелы в строке. В регулярных выражениях символ » » обозначает пробел, а метасимвол «\s» соответствует любому пробельному символу (включая пробел, табуляцию, новую строку и другие). С использованием регулярных выражений можно найти все пробелы в строке и выполнить необходимую обработку.