Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में वाक्य के पहले अक्षर को अपरकेस करना

वाक्य के प्रत्येक शब्द के पहले अक्षर को अपरकेस (कैपिटलाइज़) करने को टाइटल केस या पास्कल केस कहा जाता है।

उदाहरण: मैन्युअल कार्यान्वयन

using System;

class Demo {
    static string ToTitleCase(string str) {
        char[] val = str.ToCharArray();

        for (int i = 0; i < str.Length; i++) {
            // शब्द का पहला कैरेक्टर (शुरुआत या स्पेस के बाद)
            if (i == 0 && val[i] != ' ' ||
                val[i] != ' ' && val[i - 1] == ' ') {

                if (val[i] >= 'a' && val[i] <= 'z') {
                    val[i] = (char)(val[i] - 'a' + 'A'); // अपरकेस में बदलें
                }
            }
            else if (val[i] >= 'A' && val[i] <= 'Z') {
                // शब्द के मध्य में अपरकेस को लोअरकेस करें
                val[i] = (char)(val[i] + 'a' - 'A');
            }
        }

        return new string(val);
    }

    public static void Main() {
        string str = "Welcome to our website!";
        Console.Write(ToTitleCase(str));
    }
}

आउटपुट

Welcome To Our Website!

बिल्ट-इन तरीका: TextInfo.ToTitleCase (अनुशंसित)

using System.Globalization;
using System.Threading;

string str = "welcome to our website!";
var textInfo = CultureInfo.CurrentCulture.TextInfo;
string titleCase = textInfo.ToTitleCase(str.ToLower());
Console.WriteLine(titleCase); // "Welcome To Our Website!"

नोट: TextInfo.ToTitleCase की सीमाएं

  • सभी-कैप्स शब्दों को नहीं बदलता (जैसे "USA" → "USA")
  • एपोस्ट्रोफी के बाद कैपिटलाइज़ नहीं करता ("don't" → "Don'T")
  • <>केवल वर्तमान कल्चर के नियमों का पालन करता है

बेहतर कस्टम कार्यान्वयन

public static string ToTitleCaseBetter(string str) {
    if (string.IsNullOrEmpty(str)) return str;

    var words = str.Split(new[] { ' ', '\t', '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
    var result = new System.Text.StringBuilder();

    foreach (string word in words) {
        if (word.Length > 0) {
            result.Append(char.ToUpper(word[0]));
            if (word.Length > 1)
                result.Append(word.Substring(1).ToLower());
        }
        result.Append(' ');
    }

    return result.ToString().TrimEnd();
}

मुख्य बिंदु

  • मैन्युअल ASCII गणित (c - 'a' + 'A') केवल अंग्रेजी के लिए काम करता है।
  • char.ToUpper/ToLower यूनिकोड-अनुकूल हैं।
  • TextInfo.ToTitleCase स्थानीयकृत नियमों का पालन करता है।
  • उत्पादन कोड के लिए Humanizer लाइब्रेरी जैसी लाइब्रेरी पर विचार करें।
  1. - C# में कैरेक्टर केस बदलना (ToUpper/ToLower)

    C# में String.ToUpper() और String.ToLower() मेथड्स का उपयोग करके स्ट्रिंग के कैरेक्टर्स का केस बदला जा सकता है। स्ट्रिंग्स अपरिवर्तनीय (immutable) होती हैं, इसलिए ये मेथड्स नई स्ट्रिंग लौटाते हैं। उदाहरण using System; using System.Collections.Generic; using System.Text; namespace Demo { class

  1. - C# में बाइनरी को दशमलव में बदलना

    बाइनरी (बेस-2) संख्या को दशमलव (बेस-10) में बदलने के लिए हम प्रत्येक बिट को उसके स्थान मूल्य (2 की घात) से गुणा करके जोड़ते हैं। एल्गोरिदम दाएं से बाएं (LSB से MSB) प्रत्येक बिट प्रोसेस करें। बिट × 2^पोजीशन जोड़ें। पोजीशन 0 से शुरू होती है। उदाहरण 0) { rem = num % 10

  1. - C# प्रोग्राम: इंटीजर को स्ट्रिंग में कन्वर्ट करें

    C# में इंटीजर को स्ट्रिंग में कन्वर्ट करने के लिए ToString() मेथड का उपयोग करें।उस इंटीजर को सेट करें जिसके लिए आप स्ट्रिंग चाहते हैं:int num = 299;इंटीजर को स्ट्रिंग में कन्वर्ट करने के लिए ToString() मेथड का उपयोग करें:String s; int num = 299; s = num.ToString();उदाहरणC# में इंटीजर को स्ट्रिंग में