اذهب إلى المحتوى

السؤال

نشر (معدل)

السلام عليكم ورحمة الله وبركاته 

كيف حالك يا أخي في الله ؟

في البداية أنا أستخدم محرر أكواد يدعى هرمش وهو موقع ورابطه كالتالي : https://harmash.com/algo-editor?file=/tutorials/programming/write/write-decimal-number

أنا أريد أن أعرف لماذا عندما اكتب الكود الذي في الملف المرفق يظهر للمستخدم رسالة إدخال size ولكن المشكلة عندي هو أنه يترك مسافة بمقدار ثلاثة مسافات تقريباً وتظهر علامة الكتابة في أول وآخر الرسالة لماذا لا يظهر الرسالة بشكل سليم ؟

harmash-algo-editor-1682419857542.txt

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال

Recommended Posts

  • 0
نشر

المشكلة في الكود هي عدم استخدام دالة trim() لإزالة الفراغات الزائدة في نهاية السلسلة التي تم قراءتها باستخدام دالة read().

وتستطيعاستخدام دالة trim() بعد قراءة الحجم لإزالة الفراغات الزائدة وذلك عن طريق استخدام الكود التالي:

size = size.trim();

وهذا يحذف أي فراغات زائدة في بداية أو نهاية السلسلة ويجعل الرسالة تظهر بشكل صحيح دون أي فراغات زائدة في النهاية.

يمكنك إضافة هذا الكود بعد الحصول على قيمة الحجم وقبل طباعة النتيجة، كما هو موضح في الكود التالي:

var size = read();
write("Enter your size: ");
size = read().trim();
write("Your size = " + size);

 

  • 0
نشر

يمكنك استخدام الدالة التالية حتى يتم اخراج الـ size بشكل رقم مهما كانت مدخلات المستخدم :

const size = "  something 54  something else  ";
const filteredSize = Number(size.match(/\d+/)[0]);
console.log(filteredSize); // 54

والكود السابق يقوم بإنشاء متغير يسمى size ويعطيه القيمة " something 54 something else ".

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

ثم يتم طباعة الرقم المستخرج باستخدام دالة console.log().

ليتم في النهاية استخراج الرقم 54 من النص " something 54 something else ".

ويمكن تعديله حتى يكون بإمكان المستخدم ادخال الرقم كالتالي :

const size = prompt("enter your size");
const filteredSize = Number(size.match(/\d+/)[0]);
console.log(filteredSize); // 54

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

 

 

  • 0
نشر

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

مثال عملي:

let str = "    هذه النص    يحتوي   على فراغات زائدة    ";

// إزالة الفراغات من البداية والنهاية
str = str.trim();

// إزالة الفراغات من وسط النص
str = str.replace(/\s+/g, ' ');

console.log(str); 

النتيجة:

"هذه النص يحتوي على فراغات زائدة"

لاحظ أنه تم استخدام العبارة النمطية /\s+/g لتوصيف أي مجموعة من الفراغات، وتم استخدام الدالة replace() لاستبدال هذه المجموعات بمسافة واحدة فقط.

  • 0
نشر

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

- لإزالة المسافات الجانبية من بداية ونهاية النص، يمكن استخدام الدالة trim()، التي ترجع نسخة جديدة من النص دون المسافات الزائدة. مثال:

let day = "   friday  ";
day = day.trim(); // "friday"

- لإزالة جميع المسافات من النص، بغض النظر عن موقعها، يمكن استخدام الدالة replace()، التي تستبدل جزء من النص بآخر. في هذه الحالة، نستبدل المسافات بفراغات. مثال:

let name = " John Smith ";
name = name.replace(/ /g, ""); // "JohnSmith"

- لإزالة المسافات من بين كلمات معينة في النص، يمكن استخدام الدالة slice()، التي ترجع جزء من النص بين موضعين محددين. مثال:

let str = "Hello World";
str = str.slice(0, 5) + str.slice(6); // "HelloWorld"

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...