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

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

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

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

سلسلة بدون مسافات = سلسلة أصلية.يستعاض عن (""،"")

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

سلسلة بدون مسافات = إعادة.فرعي (ص "\ س+ " ، "" ، سلسلة أصلية)

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

سلسلة بدون مسافات = سلسلة أصلية.قطاع()

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

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

باستخدام استبدال ()

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

يبدو بناء جملة طريقة الاستبدال () كما يلي:

شارع.استبدال (سيرتشفالو ، نيوفالو)

أين:

  • ستر هو سلسلة المصدر الذي سيتم تنفيذ بدائل;
  • سيرتشفالو-القيمة التي يمكن العثور عليها في السلسلة لتحل محل;
  • نيوفالو هي القيمة التي يجب استبدال التكرارات التي تم العثور عليها بها.

تحل طريقة الاستبدال () محل التكرار الأول فقط لحرف أو سلسلة فرعية. لاستبدال جميع التكرارات ، يجب عليك استخدام تعبير عادي وعلامة ز (البحث العام).

فيما يلي مثال على استخدام طريقة استبدال () لإزالة المسافات من سلسلة:

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

فار نيوستر = شارع .يستعاض عن (/\ق / ز،"");

وحدة التحكم.سجل (نيوستر) ؛ / / "مثال على سلسلة مع سلسلة"

كقيمة الاستبدال. وبالتالي ، تمت إزالة جميع المسافات في الخط.

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

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

فار نيوستر = شارع . تقليم();

وحدة التحكم.سجل (نيوستر) ؛ / / "مثال على سلسلة مع مسافات"

تزيل طريقة القطع () المسافات في بداية السطر ونهايته ، ولكن ليس في المنتصف.

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

باستخدام الانقسام()والانضمام ()

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

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

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

فار آر = شارع.انقسام ("");

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

  • "مثال"
  • "سلاسل"
  • "مع"
  • "المساحات"

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

فار نوار = آر.انضم ("");

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

"مثال على سلسلة مع مسافات"

يتيح لك الجمع بين طرق الانقسام () والانضمام () في سلسلة واحدة إزالة المسافات من السلسلة المصدر بسهولة:

فار سترويثوتسباسيس = شارع.انقسام ("").انضم ("");

ونتيجة لذلك ، فإن متغير سترويثوتسباسيس تحتوي على سلسلة "سلسلة سبيل المثال مع مسافات" دون مسافات.

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

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

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

.

:

"'جافا

سلسلة سلسلة مع مسافات = "سلسلة سبيل المثال مع مسافات";

سلسلة سترينغويثسباسيس = سترينغويثسباسيس.استبدال الكل ("\\ق"،"");

النظام.خارج.برينتلن (سترينغويثوتسباسيس) ؛ / / الإخراج: مثال على سلسلة مع مسافات

"`

سيتم استبدال جميع المسافات في السلسلة بأحرف فارغة ، وبالتالي يتم إزالتها من السلسلة.

:

"'جافا

سلسلة سلسلة مع مسافات = " سلسلة سبيل المثال مع مسافات ";

سلسلة سترينغويثسباسيس = سترينغويثسباسيس.تقليم();

النظام.خارج.برينتلن (سترينغويثوتسباسيس) ؛ / / الإخراج: مثال على سلسلة مع مسافات

"`

يزيل فقط مسافات البداية والنهاية ، تاركا جميع المسافات الوسيطة في السطر.

.

تحويل سلسلة إلى مصفوفة وإزالة العناصر ذات المسافات

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

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

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

كونست آر = شارع.انقسام ("");

سوف تحتوي على مجموعة من الكلمات الفردية للسلسلة:

["مثال" ، "سلاسل" ، " مع " ، "مسافات"]

لإنشاء صفيف جديد ، والذي سيحتوي فقط على تلك العناصر التي لا تحتوي على مسافات:

كونست نوار = آر.تصفية ((البند) => البند !== "");

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

["مثال" ، "سلاسل" ، " مع " ، "مسافات"]

مع فاصل ، على سبيل المثال ، مسافة:

كونست نيوستر = نيوارر.انضم ("");

سيحتوي على سلسلة تتم فيها إزالة جميع المسافات:

"مثال على سلسلة مع مسافات"

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

باستخدام وظيفة القطع ()

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

مثال على استخدام وظيفة تريم () في جافا سكريبت:

دعونا شارع = " مرحبا ، العالم! ";

دعونا تريميدستر = شارع . تقليم();

وحدة التحكم.سجل (تريميدستر) ؛ / / "مرحبا ، العالم!"

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

st شارع = " مرحبا العالم! ";

trim تريمدستر = تريم (st شارع ) ;

"مرحبا ، العالم!"

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

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

هام: لا تنس أن وظيفة القطع() تنشئ خطا جديدا بدون مسافات. لا يغير السلسلة الأصلية.

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

إنشاء وظيفة خاصة بك لإزالة المسافات

هناك العديد من الطرق والوظائف المختلفة لإزالة المسافات من السلسلة. ومع ذلك ، يمكننا أيضا إنشاء وظيفتنا الخاصة التي ستؤدي هذه المهمة.

ما يلي هو هيكل تقريبي لهذه الوظيفة:

وظيفة ريموفسباسيس (شارع) {

// الرمز الخاص بك لإزالة المسافات

}

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

يوجد أدناه مثال على تنفيذ هذا المنطق داخل دالة:

وظيفة ريموفسباسيس (شارع) {

دع النتيجة = "";

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

إذا (شارع [أنا]!== " ") {

النتيجة + = شارع [أنا];

}

}

نتيجة الإرجاع;

}

. أخيرا ، نعيد السطر الأخير بدون مسافات.

لإزالة المسافات من أي خط:

دع النص = "نص المثال مع الكثير من المسافات";

دع النتيجة = إزالة المساحات (نص);

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

// الإخراج: "مثال على نص مع مجموعة من وحدات البكسل"

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

توصيات للإزالة الفعالة للمسافات من السلسلة

تعد إزالة المسافات من السطر مهمة شائعة عند العمل مع النص. في هذا القسم ، سننظر في العديد من التوصيات لإزالة المسافات بشكل فعال من السلسلة.

باستخدام أساليب مدمجة

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

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

شارع.يستعاض عن (""،""

  • ) طريقة القطع—) - تزيل المسافات من بداية السلسلة ونهايتها. إنه مفيد عندما تحتاج إلى إزالة المسافات البادئة واللاحقة فقط:

شارع.تقليم()

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

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

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

شارع.يستعاض عن (/\ق / ز،"")

) في سلسلة ويستبدلها بسلسلة فارغة.

اختيار الطريقة المثلى

عند اختيار طريقة لإزالة المسافات من سلسلة ، من المهم مراعاة أدائها وقابلية قراءة التعليمات البرمجية.

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

يعتمد اختيار الطريقة المثلى على احتياجاتك ومتطلباتك المحددة.

أمثلة التعليمات البرمجية لإزالة المسافات من سلسلة بلغات برمجة مختلفة

تعد إزالة المسافات من سلسلة مهمة شائعة في لغات البرمجة المختلفة. يمكن أن تكون المسافات أحرفا غير مرغوب فيها تتداخل مع معالجة البيانات أو تخلق أخطاء في الإخراج.

بايثون

في بايثون ، تتمثل إحدى طرق إزالة المسافات من سلسلة في استخدام طريقة الاستبدال ():

"'بايثون

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

سلسلة بدون مسافات = سلسلة.يستعاض عن (""،"")

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

"`

خاتمة:

"`

مرحبا ، العالم!

"`

جافا سكريبت

في جافا سكريبت ، لإزالة المسافات من سلسلة ، يمكنك استخدام وظيفة استبدال ():

"'جافا سكريبت

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

سلسلة فار بدون مسافات = سلسلة . يستعاض عن (//ز،"");

وحدة التحكم.سجل (سترينغويثسباسيس);

«`

خاتمة:

"`

مرحبا ، العالم!

"`

جافا

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

"'جافا

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

سلسلة سلسلة بدون مسافات = سلسلة . يستعاض عن (""،"");

النظام.خارج.برينتلن (سترينغويثسباسيس);

«`

Вывод:

«`

Привет,мир!

«`

C++

В C++ можно использовать стандартную библиотеку algorithm с функцией remove() для удаления пробелов из строки:

«`cpp

#include

#include

#include

int main() {

std::string string = «Привет, мир!»;

string.erase(std::remove(string.begin(), string.end(), ‘ ‘), string.end());

std::cout << string << std::endl;

return 0;

}

«`

Вывод:

«`

Привет,мир!

«`

Ruby

في روبي ، يمكنك استخدام طريقة غسوب () لإزالة المسافات من سلسلة:

"'روبي

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

سلسلة بدون مسافات = سلسلة.غسوب (""،"")

يضع سلاسل بدون مسافات

"`

خاتمة:

"`

مرحبا العالم!

"`

بي إتش بي

في فب ، يمكنك استخدام وظيفة ستر_ريبلاس () لإزالة المسافات من سلسلة:

"'بي إتش بي

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

str سلسلة بدون مسافات = استبدال سلسلة (""،""،string سلسلة);

الصدى str سلسلة_بدون_مساحات;

«`

خاتمة:

"`

مرحبا ، العالم!

"`

في ج# ، يمكنك استخدام طريقة استبدال () لإزالة المسافات من سلسلة:

"'شارب

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

نص السلسلة بدون مسافات = نص . يستعاض عن (""،"");

وحدة التحكم.خط الكتابة (نص بدون مساحات);

«`

خاتمة:

"`

مرحبا ، العالم!

«`

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

سؤال وجواب

كيف يمكنني إزالة جميع المسافات من سلسلة?

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

كيف يمكنني إزالة المسافات فقط في بداية ونهاية السطر?

لإزالة المسافات فقط في بداية ونهاية السطر ، يمكنك استخدام أساليب الشريط() أو لستريب() و رستريب (). على سبيل المثال: شارع = شارع . قطاع()

أحتاج فقط إلى إزالة مسافة واحدة بين الكلمات, كيف أفعل ذلك?

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

كيف يمكنني إزالة المسافات فقط في موقف خط معين?

لإزالة المسافات فقط في موضع خط معين ، يمكنك استخدام طرق التقطيع والتسلسل. على سبيل المثال: شارع = شارع [: مؤشر] + شارع [مؤشر + 1:]

هل من الممكن لإزالة مسافات من سلسلة دون استخدام أساليب المدمج في?

نعم ، من الممكن إزالة المسافات من سلسلة دون استخدام طرق مضمنة ، على سبيل المثال ، باستخدام حلقة وحالة إذا. على سبيل المثال: نيو_ستر = "" لشار في شارع: إذا شار != "": جديد + = شار

كيف يمكنني إزالة جميع المسافات من سلسلة حساسة لحالة الأحرف?

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