javascript - हरण - हिंदी में जावास्क्रिप्ट परिचय




जावास्क्रिप्ट पास्कलकेस को अंडरस्कोर_केस में परिवर्तित करता है (4)

मैं PascalCase स्ट्रिंग को underscore_case स्ट्रिंग में कैसे बदल सकता हूं? मुझे अंडरस्कोर के साथ ही डॉट्स के रूपांतरण की भी आवश्यकता है।

जैसे। बदलना

TypeOfData.AlphaBeta

में

type_of_data_alpha_beta

आप नीचे दिए गए चरणों को आजमा सकते हैं।

  • सभी बड़े अक्षरों को कैप्चर करें और पूर्ववर्ती वैकल्पिक डॉट कैरेक्टर से भी मिलान करें।

  • फिर कैप्चर किए गए अपरकेस अक्षरों को लोअरकेस में कनवर्ट करें और फिर वापस आने के लिए फ़ंक्शन को _ साथ पूर्ववर्ती चरित्र के रूप में बदलें। यह प्रतिस्थापन भाग में अनाम फ़ंक्शन का उपयोग करके प्राप्त किया जाएगा।

  • यह शुरुआती अपरकेस अक्षर को _ + लोअरकेस_लेटर में बदल देगा।

  • अंत में शुरुआती अंडरस्कोर को हटाने से आपको वांछित आउटपुट मिलेगा।

    var s = 'TypeOfData.AlphaBeta';
    console.log(s.replace(/(?:^|\.?)([A-Z])/g, function (x,y){return "_" + y.toLowerCase()}).replace(/^_/, ""));

या

var s = 'TypeOfData.AlphaBeta';
alert(s.replace(/\.?([A-Z])/g, function (x,y){return "_" + y.toLowerCase()}).replace(/^_/, ""));

किसी भी तरह से इसे रोकने के लिए जब कोई पूरा शब्द अपरकेस में हो। जैसे। MotorRPM बजाय MotorRPM में motor_r_p_m ? या BatteryAAA में battery_aaa जगह battery_a_a_a ?

var s = 'MotorRMP';
alert(s.replace(/\.?([A-Z]+)/g, function (x,y){return "_" + y.toLowerCase()}).replace(/^_/, ""));


यह आपको बहुत दूर मिलेगा: https://github.com/domchristie/humps

आप शायद "को बदलने के लिए रीगेक्स का उपयोग करेंगे।" एक अंडरस्कोर के साथ।


str.split(/(?=[A-Z])/).join('_').toLowerCase();

आपका स्वागत है

var s1 = 'someTextHere';
var s2 = 'SomeTextHere';

var o1 = s1.split(/(?=[A-Z])/).join('_').toLowerCase();
var o2 = s2.split(/(?=[A-Z])/).join('_').toLowerCase();

console.log(o1);
console.log(o2);


function toCamelCase(s) {
  // remove all characters that should not be in a variable name
  // as well underscores an numbers from the beginning of the string
  s = s.replace(/([^a-zA-Z0-9_\- ])|^[_0-9]+/g, "").trim().toLowerCase();

  // uppercase letters preceeded by a hyphen or a space
  s = s.replace(/([ -]+)([a-zA-Z0-9])/g, function(a,b,c) {
    return c.toUpperCase();
  });

  // uppercase letters following numbers
  s = s.replace(/([0-9]+)([a-zA-Z])/g, function(a,b,c) {
    return b + c.toUpperCase();
  });

  return s;
}

इस फ़ंक्शन का प्रयास करें, आशा है कि यह मदद करता है।






case-conversion