replace() के साथ रेगुलर एक्सप्रेशन और कॉलबैक फंक्शन से कोलन (:) के बाद आने वाले पहले अक्षर को अपरकेस करें।
बुनियादी समाधान
function capitalizeFirstAfterColon(str) {
// : के बाद वैकल्पिक स्पेस फिर कोई भी कैरेक्टर
return str.replace(/(:)\s*(.)/g, (match, colon, char) => {
return colon + ' ' + char.toUpperCase();
});
}
const input = 'fullName: john Smith';
console.log(capitalizeFirstAfterColon(input));
// "fullName: John Smith"
रेगुलर एक्सप्रेशन विश्लेषण
/(:)\s*(.)/g
// (:) - कैप्चर ग्रुप 1: कोलन
// \s* - शून्य या अधिक स्पेस
// (.) - कैप्चर ग्रुप 2: कोई भी सिंगल कैरेक्टर
// g - ग्लोबल (सभी घटनाएं)
एकाधिक कोलन वाले स्ट्रिंग के लिए
const multi = "name: john, city: new york, country: usa";
console.log(capitalizeFirstAfterColon(multi));
// "name: John, city: New york, country: Usa"
केवल पहला शब्द कैपिटल करें (पूरा नहीं)
function capitalizeFirstWordAfterColon(str) {
return str.replace(/(:)\s*(\w+)(\w*)/g, (match, colon, firstChar, rest) => {
return colon + ' ' + firstChar.toUpperCase() + rest.toLowerCase();
});
}
console.log(capitalizeFirstWordAfterColon("name: john SMITH"));
// "name: John smith"
चलाने का तरीका
node capitalize-after-colon.js
आउटपुट
fullName: John Smith
वेरिएशन्स
| आवश्यकता | रेगुलर एक्सप्रेशन | उदाहरण |
|---|---|---|
| कोलन के बाद पहला अक्षर | /(:)\s*(.)/g | a: b → a: B |
| कोलन के बाद पहला शब्द | /(:)\s*(\w+)/g | a: hello world → a: Hello world |
| सेमीकोलन भी | /([:;])\s*(.)/g | a; b → a; B |
| लाइन शुरूआत | /^(\s*)(\w)/gm | प्रत्येक लाइन का पहला अक्षर |