البرمجة

تقسيم السلاسل بأحرف كبيرة وصغيرة في JavaScript

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

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

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

javascript
function splitStringByCase(inputString) { // استخدام التعبير العادي للعثور على الحروف الكبيرة var uppercaseMatches = inputString.match(/[A-Z]+(?![a-z])|^[A-Z]/g); // إذا لم يكن هناك تطابق مع الحروف الكبيرة، قم بتقسيم النص بناءً على الحروف الصغيرة if (!uppercaseMatches) { return inputString.split(/(?=[A-Z])/); } // استخدام الحروف الكبيرة التي تم العثور عليها لتقسيم النص الأصلي var resultArray = []; var lastIndex = 0; uppercaseMatches.forEach(function (match) { var index = inputString.indexOf(match, lastIndex); if (index !== -1) { var chunk = inputString.substring(lastIndex, index); if (chunk) { resultArray.push(chunk); } resultArray.push(match); lastIndex = index + match.length; } }); // قسم أي جزء متبقي من النص var remainingChunk = inputString.substring(lastIndex); if (remainingChunk) { resultArray.push(remainingChunk); } return resultArray; } // استخدم الوظيفة مع السلسلة المطلوبة var myString = "HOWtoDOthis"; var myArray = splitStringByCase(myString); console.log(myArray);

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

المزيد من المعلومات

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

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

لتحقيق ذلك، يمكننا استخدام تعبيرات القواعد العادية (Regex) أو الحلقات (Loops) لفحص كل حرف في السلسلة وتحديد ما إذا كان حرفًا كبيرًا أم صغيرًا. لنبدأ باستخدام Regex:

javascript
var myString = "HOWtoDOthis"; var myArray = myString.split(/(?=[A-Z])/); // النتيجة: ["HOW", "to", "DO", "this"]

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

بالنسبة للحلقات، يمكننا القيام بذلك كالتالي:

javascript
var myString = "HOWtoDOthis"; var currentWord = ""; var myArray = []; for (var i = 0; i < myString.length; i++) { var currentChar = myString[i]; if (currentChar === currentChar.toUpperCase() && i > 0) { myArray.push(currentWord); currentWord = currentChar; } else { currentWord += currentChar; } } myArray.push(currentWord); // النتيجة: ["HOW", "to", "DO", "this"]

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

يمكنك اختيار الأسلوب الذي يناسب احتياجاتك ويتناسب مع السياق البرمجي الخاص بك.

زر الذهاب إلى الأعلى