শব্দগুলিকে স্ট্রিংয়ে বড় করুন


181

কোনও স্ট্রিংয়ে শব্দকে বড় করে তোলার সর্বোত্তম পন্থা কোনটি?


66
যদি এটি প্রদর্শনের জন্য হয় তবে সিএসএস ব্যবহার করুন। text-transform:capitalize;
কেনেটিএম

3
এটি ডিওএম উপাদানগুলিতে "শিরোনাম" বৈশিষ্ট্য সেট করতে ব্যবহার করতে হবে। সিএসএস নেই :)
ভাইসেক

1
এছাড়াও, আমি এই প্রশ্নটি জিজ্ঞাসা করেছি, যদিও আমি সমাধানটি জানি, কেবল কারণ আমি এই ওয়েবসাইটে এটি সন্ধান করার চেষ্টা করেছি এবং একটি উপযুক্ত সমাধান খুঁজে পাইনি, তাই এটি ডকুমেন্টেশনের খাতিরে যুক্ত করেছি।
vsync

1
@ কেনিটিএম: পাঠ্য-রূপান্তরটি ফর্মের ফিডগুলির মানগুলিকে প্রকৃতই বড় করে তুলবে না, সমস্ত মানকে মূলধন উপস্থাপন করা হবে, তবে সার্ভারে যেমন রয়েছে তেমন পাঠানো হবে।
মার্কো ডেমাইও

8
@ মার্কো: হ্যাঁ, তাই আমি বলেছিলাম "যদি এটি প্রদর্শনের জন্য হয়"।
কেনেটিএম

উত্তর:


286
/**
 * Capitalizes first letters of words in string.
 * @param {string} str String to be modified
 * @param {boolean=false} lower Whether all other letters should be lowercased
 * @return {string}
 * @usage
 *   capitalize('fix this string');     // -> 'Fix This String'
 *   capitalize('javaSCrIPT');          // -> 'JavaSCrIPT'
 *   capitalize('javaSCrIPT', true);    // -> 'Javascript'
 */
const capitalize = (str, lower = false) =>
  (lower ? str.toLowerCase() : str).replace(/(?:^|\s|["'([{])+\S/g, match => match.toUpperCase());
;

  • সংশোধন করা হয়েছে মার্কো Demaio এর সমাধান যেখানে একটি স্থান পূর্ববর্তী সঙ্গে প্রথম চিঠি মূলধনী করা হয় না।
capitalize(' javascript'); // -> ' Javascript'
  • জাতীয় প্রতীক এবং উচ্চারণযুক্ত চিঠিগুলি পরিচালনা করতে পারে।
capitalize('бабушка курит трубку');  // -> 'Бабушка Курит Трубку'
capitalize('località àtilacol')      // -> 'Località Àtilacol'
  • উদ্ধৃতি এবং ধনুর্বন্ধনী পরিচালনা করতে পারেন।
capitalize(`"quotes" 'and' (braces) {braces} [braces]`);  // -> "Quotes" 'And' (Braces) {Braces} [Braces]

4
regexp "স্ট্রিং (^) এর সূচনা বা কোনও সাদা
স্থানের

3
আপার কেস স্ট্রিংগুলি হ্যান্ডেল করার জন্য সামান্য বর্ধন করুন :) ** স্ট্রিং.প্রোটোটাইপ.ক্যাপিটালাইজ = ফাংশন () this এইটি.টলওয়ারকেস () ফিরিয়ে দিন (/ (?: ^ |) S) \ এস / জি, ফাংশন (ক) a a.toUpperCase ();}) রিটার্ন করুন; }; **
সূর্যপাবন

1
অনুগ্রহ করে বিদ্যমান বস্তুর প্রোটোটাইপগুলি পরিবর্তন করবেন না।
Ascherer

1
@ ডা। এক্স, অ্যাড-অন দেখুন 'CHECK THIS OUT'.capitalize(true) -> "Check This Out",। মনtrue প্যারামিটার।
বিচ্ছুরিত

1
@ সিওয়ারারিওর ৪৪৪, আপনি ঠিক বলেছেন, এস এস সিনট্যাক্সের সাহায্যে আমার উত্তর আপডেট করেছেন, জেএসডোক এবং কিছু বিরামচিহ্ন চিকিত্সা যুক্ত করেছেন
বিচ্ছিন্ন

214

একটি স্ট্রিংয়ের মধ্যে শব্দকে বড় করার জন্য সংক্ষিপ্ততম প্রয়োগটি ES6 এর তীর ফাংশনগুলি ব্যবহার করে নিম্নলিখিত:

'your string'.replace(/\b\w/g, l => l.toUpperCase())
// => 'Your String'

ES5 সামঞ্জস্যপূর্ণ বাস্তবায়ন:

'your string'.replace(/\b\w/g, function(l){ return l.toUpperCase() })
// => 'Your String'

রেজেক্স মূলত প্রদত্ত স্ট্রিংয়ের মধ্যে প্রতিটি শব্দের প্রথম অক্ষরের সাথে মেলে এবং কেবলমাত্র সেই অক্ষরকে বড় হাতের কাছে রূপান্তর করে:

  • \ বি একটি শব্দের সীমানার সাথে মিলিত হয় (শব্দের শুরু বা শেষ);
  • \ w নিম্নলিখিত মেটা-চরিত্রের সাথে মেলে [a-zA-Z0-9]।

অ-এসসিআইআই অক্ষরের জন্য পরিবর্তে এই সমাধানটি দেখুন to

'ÿöur striñg'.replace(/(^|\s)\S/g, l => l.toUpperCase())

এই রেজেক্স প্রথম অক্ষরের সাথে মিলেছে এবং প্রদত্ত স্ট্রিংয়ের অভ্যন্তরে হোয়াইটস্পেসের পূর্বে থাকা প্রতিটি অ-শ্বেতস্পেস বর্ণের সাথে মেলে এবং কেবলমাত্র সেই অক্ষরকে বড় হাতের কাছে রূপান্তরিত করে:

  • গুলি একটি সাদা স্থানের অক্ষরের সাথে মেলে
  • এস একটি শ্বেতস্থান অক্ষরের সাথে মেলে
  • (x | y) নির্দিষ্ট বিকল্পগুলির সাথে মেলে

নিম্নোক্তভাবে এখানে কোনও ক্যাপচারকারী দল ব্যবহার করা যেতে পারে /(?:^|\s)\S/g যদিওg আমাদের রেজেক্সের মধ্যে পতাকা যে কোনও উপায়ে ডিজাইন করে সাব-গ্রুপগুলি ক্যাপচার করবে না।

চিয়ার্স!


1
উত্তরে আপনি কী ব্যাখ্যা করতে পারেন যে রেজেক্স কীভাবে কাজ করে? (প্রতিটি টুকরোটির অর্থ)
52

2
ব্যাখ্যাটি যদি এর ভিতরে থাকে তবে আমি উত্তর হিসাবে এটি নির্বাচন করব এবং একটি মন্তব্য হিসাবে মিস করতে পারে না।
vsync

2
এটি নর্ডিক অক্ষর ä, ö, এবং for এর জন্য কাজ করে বলে মনে হচ্ছে না å উদাহরণস্বরূপ päijät-hämeহয়ে যায়PäIjäT-HäMe
মার্কাস মেসকেনেন

1
ডায়াক্রিটিক / নন-ল্যাটিন অক্ষরযুক্ত আন্তর্জাতিক বিষয়বস্তুর জন্য এই সমাধানটি ভাল নয়। EisbäRenউদাহরণস্বরূপ, একটি ফলাফল।
ড্যানিয়েল বি

3
@ মারকাসমেস্কেনেনের উদাহরণটি পরিবর্তিত হওয়া উচিত Päijät-Häme, তবে কমপক্ষে ক্রোম স্পেসে ড্যাশ (-) অন্তর্ভুক্ত নয়, সুতরাং নামের দ্বিতীয় অংশটি মূলধনযুক্ত নয়। হিসাবে স্থির করা যেতে পারে /(^|\s|-)\S/g
মিআরিন

32
function capitalize(s){
    return s.toLowerCase().replace( /\b./g, function(a){ return a.toUpperCase(); } );
};

capitalize('this IS THE wOrst string eVeR');

আউটপুট: "এটি সর্বকালের সবচেয়ে খারাপ স্ট্রিং"

হালনাগাদ:

এটি এই সমাধানটি খনিটিকে ছাড়িয়ে যায়: https://stackoverflow.com/a/7592235/104380


সতর্ক এটি আপনার ফাংশন ভুলভাবে মনে হয় capitalizes এছাড়াও উচ্চারণকৃত অক্ষর, আমার উত্তর দেখুন: stackoverflow.com/questions/2332811/capitalize-words-in-string/... আমিও এটা protoyped।
মার্কো ডেমাইও

9
আমি প্রোটোটাইপিং পছন্দ করি না, এতে সংঘর্ষ তৈরির সম্ভাবনা রয়েছে অন্য কেউ স্ট্রিং প্রোটোটাইপ করতে একই নাম ব্যবহার করছেন।
vsync

15

VSync দ্বারা উপলব্ধ উত্তর কাজ করে যতদিন না পর্যন্ত আপনি উচ্চারণকৃত অক্ষর না থাকে যেমন ইনপুট স্ট্রিং।

আমি কারণটি জানি না, তবে স্পষ্টতই \bরেজিএক্সএক্স ম্যাচগুলিও উচ্চারণযুক্ত অক্ষরগুলি (আইই 8 এবং ক্রোমে পরীক্ষিত), যাতে একটি স্ট্রিংকে "località"ভুলভাবে মূলধন করা হবে"LocalitÀ" (দ্যà চিঠির মূলধন হয়ে যায় কারণ রেজএক্সএক্স মনে করে এটি একটি শব্দ সীমানা)

উচ্চারণযুক্ত অক্ষরগুলির সাথে কাজ করে এমন আরও একটি সাধারণ ক্রিয়াকলাপ হ'ল:

String.prototype.toCapitalize = function()
{ 
   return this.toLowerCase().replace(/^.|\s\S/g, function(a) { return a.toUpperCase(); });
}

আপনি এটি এর মতো ব্যবহার করতে পারেন:

alert( "hello località".toCapitalize() );

1
" javascript".toCapitalize() -> " javascript"
বিচ্ছুরিত

2
কার কাছেই বা উদ্বেগ পারেন: disfated উত্তর stackoverflow.com/questions/2332811/capitalize-words-in-string/... এখন সবচেয়ে ভালো উত্তর এখানে।
মার্কো ডেমাইও

4

যেহেতু প্রত্যেকে আপনাকে জাভাস্ক্রিপ্টের উত্তর দিয়েছিল সেহেতু আপনি যা জিজ্ঞাসা করেছেন, তাই আমি সেই CSS সম্পত্তিটি ফেলে দেব text-transform: capitalize ঠিক এটি করবে

আমি বুঝতে পারছি এই শক্তি আপনি যা বলছি না - আপনি আমাদের যা প্রেক্ষাপটে এই চালাচ্ছেন কোন না দিয়েছি - কিন্তু যদি এটা শুধু উপস্থাপনার জন্য আছে, আমি স্পষ্টভাবে সিএসএস বিকল্প সঙ্গে যেতে চাই।


কেনেটিএম আপনাকে এটি মারবে। প্রশ্ন বিভাগে তার মন্তব্য পরীক্ষা করুন। :-)
বুহাকে সিন্ধি

হ্যাঁ, আমি এই সিএসএস অ্যাট্রিবিউটটি জানি, তবে ডোম উপাদানগুলির শিরোনাম বৈশিষ্ট্যের জন্য আমার এটি দরকার এবং এটির কোনও সিএসএস নেই যা আপনি জানেন know
vsync

4

জন রেসিগ (jQuery খ্যাতির) জন গ্রুবারের লেখা পার্ল স্ক্রিপ্টটি জাভাস্ক্রিপ্টে পোর্ট করেছিলেন। এই স্ক্রিপ্টটি আরও বুদ্ধিমান উপায়ে মূলধন করে, এটি উদাহরণস্বরূপ 'এর' এবং 'এবং' এর মতো ছোট শব্দকে বড় করে তোলে না।

আপনি এটি এখানে খুঁজে পেতে পারেন: জাভাস্ক্রিপ্টে শিরোনাম মূলধন


4

জাভাস্ক্রিপ্ট এবং এইচটিএমএল ব্যবহার করে

String.prototype.capitalize = function() {
  return this.replace(/(^|\s)([a-z])/g, function(m, p1, p2) {
    return p1 + p2.toUpperCase();
  });
};
<form name="form1" method="post">
  <input name="instring" type="text" value="this is the text string" size="30">
  <input type="button" name="Capitalize" value="Capitalize >>" onclick="form1.outstring.value=form1.instring.value.capitalize();">
  <input name="outstring" type="text" value="" size="30">
</form>

মূলত, আপনি করতে পারেন string.capitalize() এবং এটি প্রতিটি শব্দের প্রতিটি 1 ম অক্ষরকে মূলধন করে তুলবে।

সূত্র: http://www.mediacolleg.com/internet/javascript/text/case-capitalize.html


1
আমি এইভাবে প্রোটোটাইপিংয়ের অনুরাগী নই, কারণ আমার স্ক্রিপ্টগুলি মাঝে মধ্যে 3 য় পক্ষ অন্য ওয়েবসাইটগুলিতে এম্বেড হয় এবং এটি "স্ট্রিং" এর মতো গ্লোবাল অবজেক্টের সাথে বিশৃঙ্খলা সৃষ্টি করতে পারে ... সুতরাং আমি এর পরিবর্তে "ফুকশন" পছন্দ করি।
vsync

1
এটিই প্রোটোটাইপের সৌন্দর্য (আপনি যে প্রোটোটাইপ ডাউনলোড করেন তা নয়)। এটি জাভাস্ক্রিপ্টে স্ট্যান্ডার্ড এবং সমস্ত ব্রাউজারে কাজ করে।
বুহাকে সিন্ধি

আমার সন্দেহ হয় যে যদি ইতিমধ্যে অন্য কেউ তার নিজের স্ট্রিং.প্রোটোটাইপ.কপিটালিটিস প্রোটোটাইপ করে থাকে এবং আমি দুর্ঘটনাক্রমে এটিকে ওভাররাইড করব তবে সমস্যা হতে পারে।
vsync

1
@vsync, আপনি সর্বদা এটি করে চেক করতে পারেন। if (object.capitalize) {...} else {String.prototype.capitalize = function()....}যেখানে বস্তু টাইপ হয় String। সুতরাং, এটি সত্যিই বেশ সহজ।
বুহাকে সিন্ধি

4

আইভোর উত্তরটি ভাল, তবে আমি মিলতে পছন্দ করি না \wকারণ 0-9 এবং AZ মূলধন দেওয়ার দরকার নেই। আমরা সেগুলি উপেক্ষা করতে পারি এবং কেবলমাত্র এজেতে মিলতে পারি।

'your string'.replace(/\b[a-z]/g, match => match.toUpperCase())
// => 'Your String'

এটি একই আউটপুট, তবে আমি স্ব-ডকুমেন্টিং কোডের ক্ষেত্রে আরও পরিষ্কার মনে করি।


এই অ ইংরেজি চিঠির জন্য ব্যর্থ হবে: "Är Toaletten"। আপনার উত্তর, বেশ ভাল উত্তর প্রদানের বছর পরে প্রদান করা হয়েছে, আলোচনায় ভূমিকা রাখে না ..
vsync

@vsync যেটি বেশ কঠোর মনে হচ্ছে। এটি গৃহীত উত্তরের একটি অপ্টিমাইজেশন। /\b\w/gঅ-ইংরাজী অক্ষরের জন্যও ব্যর্থ। প্রত্যেকেই ইউনিকোড চরিত্রগুলি নিয়ে কাজ করে না এবং এটি যারা চায় না তাদের এটির সাহায্য করবে।
বড় অর্থ 18

1
ঠিক আছে .. আমি শুধু মনে করি না যে কেবলমাত্র ইংরেজির পাশে আপনার আর কোনও ভাষার প্রয়োজন নেই বলে শীর্ষ উত্তরের পরিবর্তে আপনার এটি ব্যবহার করা উচিত। শীর্ষস্থানীয় প্রশ্নে যেমনটি বলা হয়েছে যে সমস্ত ASCII চরিত্রের জন্য এটি করার জন্য কোনও জরিমানা নেই সেহেতু এটি যথেষ্ট পরিমাণে ন্যায়সঙ্গত সমর্থন নয়
vsync

3

আপনি ব্যবহার করেন, তাহলে lodash আপনার জাভাস্ক্রিপ্ট আবেদন, আপনি ব্যবহার করতে পারেন _.capitalize :

console.log( _.capitalize('ÿöur striñg') );
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>


3

এটি করার একটি সংক্ষিপ্ত ES6 উপায়টি দেখতে এরকম কিছু দেখতে পাবে।

const capitalizeFirstLetter = s => s.charAt(0).toUpperCase() + s.slice(1)

এটি কেবলমাত্র প্রথম অক্ষরকে বড় হাতের অক্ষরে ফেলেছে এবং বাক্যটির বাকী কেসিংয়ের ক্ষতি করে না।


1

এটি বেশিরভাগ বুনিয়াদি ব্যবহারের ক্ষেত্রে আবশ্যক।

const capitalize = (str) => {
    if (typeof str !== 'string') {
      throw Error('Feed me string')
    } else if (!str) {
      return ''
    } else {
      return str
        .split(' ')
        .map(s => {
            if (s.length == 1 ) {
                return s.toUpperCase()
            } else {
                const firstLetter = s.split('')[0].toUpperCase()
                const restOfStr = s.substr(1, s.length).toLowerCase()
                return firstLetter + restOfStr
            }     
        })
        .join(' ')
    }
}


capitalize('THIS IS A BOOK') // => This Is A Book
capitalize('this is a book') // => This Is A Book
capitalize('a 2nd 5 hour boOk thIs weEk') // => A 2nd 5 Hour Book This Week

সম্পাদনা করুন: ম্যাপিংয়ের পাঠযোগ্যতার উন্নতি।


আপনি কি দয়া করে ব্যাখ্যা করতে পারেন যে আপনার উত্তরটি কেন বহু বছর আগে অন্যের চেয়ে ভাল বলে মনে করেন?
vsync

আপনি ব্যাখ্যা করতে পারেন কেন আপনি কেন এমন ভাবছেন যে আমার উত্তরটি অন্যের চেয়ে সবচেয়ে ভাল / বা ভাল? আমি এটি উল্লেখ করিনি, এটি অন্যরকম। এছাড়াও আমি আপনাকে অন্য পোস্টে এই মন্তব্যটি করতে দেখিনি, তাই আমি সত্যিই এটি পাই না। তবে শুরুতে: এটি আধুনিক জেএস বৈশিষ্ট্যগুলি (ধ্বংস, চর্বিযুক্ত তীর, অন্তর্নিহিত রিটার্ন) ব্যবহার করে, এটি রেজেক্স ব্যবহার করে না এবং এটি সমস্যার আরও কার্যকরী পদ্ধতির। এছাড়াও এটির পরিচালনা করার ক্ষেত্রে খুব বেসিক ত্রুটি রয়েছে এবং আপনি যদি এটি পাস করেন তবে খালি স্ট্রিংটি ফিরে আসে (আমার কাছে এটি গুরুত্বপূর্ণ ছিল)।
ড্রপ

এটি আলাদা হতে ঠিক আছে তবে এটি অন্য উত্তরের সাথে আরও ভাল বা সমান হতে হবে, এবং এটি বলে মনে হচ্ছে ... অপঠনযোগ্য এবং অবশ্যই কোনও কিছুই
প্রযোজনীয় কোডে

আহ, ঠিক আছে, সুতরাং এখানে 50% সমাধানগুলির মধ্যে কোন বাঁদিকটি স্ট্রিং আপনি প্রকৃতপক্ষে উত্পাদন করবেন? অথবা হতে পারে কনভোলটেড রেজেক্স এক্সপ্রেশন? সেগুলি দিয়ে যুক্তি করা খুব সহজ, তাই না? ইমো একেবারে না! এছাড়াও বলছেন যে কেউ এটি বুঝতে পারবেন না এটি যথেষ্ট বিষয়গত বক্তব্য। এছাড়াও এর জন্য আপনি বলেছিলেন যে কোডটি টুকরো টুকরো করে দেওয়া হয়েছে (আরও বৈশিষ্ট্যগুলি তবে এটি এখানে নেই) but কীভাবে এটি ছিন্ন হয়ে যায় এবং আমার সমাধান কেউ বুঝতে পারে না? এমন কোনও উপায় নেই যে আপনি ঘন্টা হারিয়ে না ফেলে re রেজিজেসগুলিকে আনচান করবেন।
ফোঁটা

এই কোডটি মিঃ রেজিগ নিজে লিখেছিলেন এবং জিজ্ঞাসা করা উচিত নয়। অন্যদিকে, আপনার পরিচয় প্রকাশের কারণে আপনার বিশ্বাসযোগ্যতার অভাব রয়েছে। নির্বিশেষে, একটি রেজেক্স সমাধানটি সংক্ষিপ্ত, খুব দ্রুত চালিত হয় এবং রেগেক্সের বেসিকগুলিতে যে কেউ শিখতে পারে সহজেই। এর মধ্যে " /\b\w/g
আনটাঙ্গল

1

এই সলিউশন ডোজটি রেজেক্স ব্যবহার করে না, উচ্চারণযুক্ত অক্ষরগুলিকে সমর্থন করে এবং প্রায় প্রতিটি ব্রাউজার দ্বারা সমর্থিত।

function capitalizeIt(str) {
    if (str && typeof(str) === "string") {
        str = str.split(" ");    
        for (var i = 0, x = str.length; i < x; i++) {
            if (str[i]) {
                str[i] = str[i][0].toUpperCase() + str[i].substr(1);
            }
        }
        return str.join(" ");
    } else {
        return str;
    }
}    

ব্যবহার:

কনসোল.লগ (ক্যাপিটালাইজআইটি ('জাভাস্ক্রিপ্ট প্রোগ্রামের মধ্যে 2 য় আও'));

আউটপুট:

জাভাস্ক্রিপ্ট প্রোগ্রাম এর ভিতরে 2 য়ও


1
এই উপায়টি অনেকগুলি সিপিইউ সংস্থান গ্রহণ করে। জাভাস্ক্রিপ্ট আদিম মানগুলিকে পরিবর্তন করে না, যা প্রতিবার অপারেশন করার সময় একটি নতুন তৈরির সূচনা দেয়। এটি "প্রতিস্থাপন", উদাহরণস্বরূপ, যেমন নেটিভ ফাংশনগুলি আরও ভালভাবে ব্যবহার করুন
ড্যানিয়েল বান্দিরা

1

আমার সমাধান:

String.prototype.toCapital = function () {
    return this.toLowerCase().split(' ').map(function (i) {
        if (i.length > 2) {
            return i.charAt(0).toUpperCase() + i.substr(1);
        }

        return i;
    }).join(' ');
};

উদাহরণ:

'álL riGht'.toCapital();
// Returns 'Áll Right'

বেশ কয়েকটি পদ্ধতি ব্যবহার করে দেখুন এবং আপনার সমাধানটি সবচেয়ে দক্ষ এবং jsbench.me/urjeu9wvql
নাসাটোম

এটি কাজ করে না: 'a áAA. bb . bbb .cc .d'.toCapital();=>a Áaa. bb . Bbb .cc .d
vsync

আমি এটি "2" এর চেয়ে কম অক্ষরের শব্দগুলিকে "এর", "হিসাবে" বিবেচনা না করার জন্য তৈরি করেছি।
এরিক তাতসুই

0

http://www.mediacollege.com/internet/javascript/text/case-capitalize.html সেগুলির অনেক উত্তরগুলির মধ্যে একটি।

গুগল এই জাতীয় সমস্যার জন্য আপনার যা প্রয়োজন তা হতে পারে।

একটি নির্বোধ পন্থাটি হোয়াইটস্পেসের মাধ্যমে স্ট্রিংকে বিভক্ত করা, ফলস্বরূপ অ্যারের প্রতিটি উপাদানটির প্রথম অক্ষরকে মূলধন করা এবং এটি আবার একসাথে যোগদান করা। এটি বিদ্যমান মূলধনকে একা ফেলে রাখে (যেমন এইচটিএমএল এইচটিএমএল থাকে এবং এইচটিএমএল এর মতো নির্বোধ কিছু হয় না)। আপনি যদি এটি প্রভাবিত করতে না চান তবে পুরো স্ট্রিংটি বিভক্ত করার আগে ছোট হাতের অক্ষরে পরিণত করুন।


0

এই কোডটি বিন্দুর পরে শব্দকে মূলধন করে:

function capitalizeAfterPeriod(input) { 
    var text = '';
    var str = $(input).val();
    text = convert(str.toLowerCase().split('. ')).join('. ');
    var textoFormatado = convert(text.split('.')).join('.');
    $(input).val(textoFormatado);
}

function convert(str) {
   for(var i = 0; i < str.length; i++){
      str[i] = str[i].split('');
      if (str[i][0] !== undefined) {
         str[i][0] = str[i][0].toUpperCase();
      }
      str[i] = str[i].join('');
   }
   return str;
}

0

আমি সহজ প্রক্রিয়া নিয়ে যেতে পছন্দ করি। সহজে পুনরাবৃত্তির জন্য প্রথমে স্ট্রিংটিকে অ্যারেতে পরিবর্তন করুন, তারপরে ম্যাপ ফাংশনটি ব্যবহার করে প্রতিটি শব্দ যেমন আপনি চান তেমন পরিবর্তন করুন।

function capitalizeCase(str) {
    var arr = str.split(' ');
    var t;
    var newt;
    var newarr = arr.map(function(d){
        t = d.split('');
        newt = t.map(function(d, i){
                  if(i === 0) {
                     return d.toUpperCase();
                    }
                 return d.toLowerCase();
               });
        return newt.join('');
      });
    var s = newarr.join(' ');
    return s;
  }

0

জ্যাকোয়ারি বা জাভাস্কিপ্ট এটি অর্জনের জন্য অন্তর্নির্মিত পদ্ধতি সরবরাহ করে না।

সিএসএস টেস্ট ট্রান্সফর্ম (টেক্সট-ট্রান্সফর্ম: মূলধন;) স্ট্রিংয়ের ডেটা সত্যিই বড় করে না তবে স্ক্রিনে মূলধন রেন্ডারিং দেখায়।

আপনি যদি সরল ভ্যানিলাজেএস ব্যবহার করে ডেটা স্তরে এটি অর্জনের আরও বৈধ উপায়ের সন্ধান করছেন তবে এই সমাধানটি => ব্যবহার করুন

var capitalizeString = function (word) {    
    word = word.toLowerCase();
    if (word.indexOf(" ") != -1) { // passed param contains 1 + words
        word = word.replace(/\s/g, "--");
        var result = $.camelCase("-" + word);
        return result.replace(/-/g, " ");
    } else {
    return $.camelCase("-" + word);
    }
}


0

স্ট্রিংয়ে শব্দগুলি মূলধন করতে আপনি নিম্নলিখিতটি ব্যবহার করতে পারেন:

function capitalizeAll(str){

    var partes = str.split(' ');

    var nuevoStr = ""; 

    for(i=0; i<partes.length; i++){
    nuevoStr += " "+partes[i].toLowerCase().replace(/\b\w/g, l => l.toUpperCase()).trim(); 
    }    

    return nuevoStr;

}

0

এখানে লোকোটাসও রয়েছে: https://locutus.io/php/strings/ucwords/ যা এটিকে এভাবে সংজ্ঞায়িত করে:

function ucwords(str) {
  //  discuss at: http://locutus.io/php/ucwords/
  // original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
  // improved by: Waldo Malqui Silva (http://waldo.malqui.info)
  // improved by: Robin
  // improved by: Kevin van Zonneveld (http://kvz.io)
  // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)
  // bugfixed by: Cetvertacov Alexandr (https://github.com/cetver)
  //    input by: James (http://www.james-bell.co.uk/)
  //   example 1: ucwords('kevin van  zonneveld')
  //   returns 1: 'Kevin Van  Zonneveld'
  //   example 2: ucwords('HELLO WORLD')
  //   returns 2: 'HELLO WORLD'
  //   example 3: ucwords('у мэри был маленький ягненок и она его очень любила')
  //   returns 3: 'У Мэри Был Маленький Ягненок И Она Его Очень Любила'
  //   example 4: ucwords('τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός')
  //   returns 4: 'Τάχιστη Αλώπηξ Βαφής Ψημένη Γη, Δρασκελίζει Υπέρ Νωθρού Κυνός'

  return (str + '').replace(/^(.)|\s+(.)/g, function ($1) {
    return $1.toUpperCase();
  });
};

0

আমি এই উদ্দেশ্যে পুনরায় ব্যবহার করব:

myString = '  this Is my sTring.  ';
myString.trim().toLowerCase().replace(/\w\S*/g, (w) => (w.replace(/^\w/, (c) => c.toUpperCase())));
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.