স্ট্রিংকে শিরোনামের ক্ষেত্রে রূপান্তর করা হচ্ছে


300

আমার একটি স্ট্রিং রয়েছে যা উপরের এবং লোয়ার কেস অক্ষরের সংমিশ্রণে শব্দ ধারণ করে।

উদাহরণ স্বরূপ: string myData = "a Simple string";

আমার প্রতিটি শব্দের প্রথম অক্ষর (স্পেস দ্বারা পৃথক) বড় হাতের ক্ষেত্রে রূপান্তর করতে হবে। সুতরাং আমি ফলাফলটি চাই:string myData ="A Simple String";

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


1
http://support.microsoft.com/kb/312890 - কীভাবে স্ট্রিংগুলিকে ভিজুয়াল সি ব্যবহার করে লোয়ার, আপার বা শিরোনামে (যথাযথ) কেস রূপান্তর করতে পারে
ttarchala

উত্তর:


538

MSDN: TextInfo.ToTitleCase

আপনি অন্তর্ভুক্ত নিশ্চিত করুন: using System.Globalization

string title = "war and peace";

TextInfo textInfo = new CultureInfo("en-US", false).TextInfo;

title = textInfo.ToTitleCase(title); 
Console.WriteLine(title) ; //War And Peace

//When text is ALL UPPERCASE...
title = "WAR AND PEACE" ;

title = textInfo.ToTitleCase(title); 
Console.WriteLine(title) ; //WAR AND PEACE

//You need to call ToLower to make it work
title = textInfo.ToTitleCase(title.ToLower()); 
Console.WriteLine(title) ; //War And Peace

37
সত্য। এছাড়াও, কোনও শব্দ যদি সমস্ত উচ্চতর হয় তবে এটি কার্যকর হয় না। উদাহরণস্বরূপ - "কোনও এফবিআই এজেন্ট আমার ডিওজি গুলি করেছিল" -> "এফবিআইয়ের এজেন্ট শট মাই ডিওজি"। এবং এটি "ম্যাকডোনাল্ডস", এবং হ্যান্ডেল করে না।
কোবি

5
@ কিরস্টস্টিন এই ফাংশনটি এই শব্দগুলিকে ইংরেজী না হওয়া সত্ত্বেও শিরোনামের ক্ষেত্রে রূপান্তরিত করে । ডকুমেন্টেশন দেখুন: Actual result: "War And Peace"
কোবি

5
@ সিম্বোলো - আমি একটি মন্তব্যে এ্যাকিউল্ট উল্লেখ করেছি ... আপনি এর মতো কিছু ব্যবহার করতে পারেন text = Regex.Replace(text, @"(?<!\S)\p{Ll}", m => m.Value.ToUpper());তবে এটি নিখুঁত। উদাহরণস্বরূপ, এটি এখনও উদ্ধৃতি বা প্রথম বন্ধনী - "(one two three)"-> পরিচালনা করে না "(one Two Three)"। আপনি এই ক্ষেত্রেগুলি ঠিক কী করতে চান তা নির্ধারণ করার পরে আপনি একটি নতুন প্রশ্ন জিজ্ঞাসা করতে চাইতে পারেন।
কোবি

17
কিছু কারণে যখন আমি "ডিআর" আছে এটা না হয়ে "ড" যদি না আমি .ToLower (কল) প্রথম ToTitleCase () কল করার আগে জন্য ... সুতরাং আসুন কিছু জন্য সতর্ক যে ...
টড থমসন

16
আ। ইনপুট স্ট্রিংয়ের জন্য টোলওভার () ইনপুট পাঠ্যটি যদি বড় ক্ষেত্রে হয় তবে
পুণিত ঘনশানী

137

এটা চেষ্টা কর:

string myText = "a Simple string";

string asTitleCase =
    System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.
    ToTitleCase(myText.ToLower());

যেমন ইতিমধ্যে চিহ্নিত করা হয়েছে, টেক্সটইনফো.টোটিটেলকেস ব্যবহার করা আপনাকে সম্ভবত সঠিক ফলাফল দিতে পারে না। আপনার যদি আউটপুটটিতে আরও নিয়ন্ত্রণের প্রয়োজন হয় তবে আপনি এরকম কিছু করতে পারেন:

IEnumerable<char> CharsToTitleCase(string s)
{
    bool newWord = true;
    foreach(char c in s)
    {
        if(newWord) { yield return Char.ToUpper(c); newWord = false; }
        else yield return Char.ToLower(c);
        if(c==' ') newWord = true;
    }
}

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

var asTitleCase = new string( CharsToTitleCase(myText).ToArray() );

1
আমি TextInfo অবজেক্টের বিভিন্ন প্রকারের চেষ্টা করেছি - কোনও ত্রুটি নেই তবে মূল স্ট্রিং (আপার কেস) কখনও আপডেট হয়নি। এই পদ্ধতিটি প্লাগ ইন এবং খুব প্রশংসা করি।
JustSteve

6
@justSteve, দুটিই MSDN (থেকে msdn.microsoft.com/en-us/library/... ): "যাইহোক, এই পদ্ধতি বর্তমানে সঠিক বা ছোট হাতের অক্ষর উপলব্ধ করা হয় না যেমন একটি আদ্যক্ষরা যেমন একটি শব্দ সম্পূর্ণরূপে বড়হাতের যে, রূপান্তর করতে" - আপনি সম্ভবত উচিত এটি প্রথমে ToLower () এটি প্রথমে (আমি জানি এটি পুরানো, তবে কেবল যদি কেউ এটির উপর হোঁচট খায় এবং কেন আশ্চর্য হয়!)
নিজমো

কেবল নেট নেট ফ্রেমওয়ার্কের জন্য উপলব্ধ 7.7.২ <= আপনার ফ্রেম ওয়ার্ক <=। নেট কোর ২.০
পল গর্বাস

70

তবুও অন্য একটি প্রকরণ। এখানে বেশ কয়েকটি টিপসের ভিত্তিতে আমি এটিকে এই এক্সটেনশন পদ্ধতিতে হ্রাস করেছি, যা আমার উদ্দেশ্যগুলির জন্য দুর্দান্ত কাজ করে:

public static string ToTitleCase(this string s) =>
    CultureInfo.InvariantCulture.TextInfo.ToTitleCase(s.ToLower());

8
CultureInfo.InvariantCulture.TextInfo.ToTitleCase (s.ToLower ()); আসলে আরও ভাল ফিট হবে!
পুনেত ঘনশানী

কেবল নেট নেট ফ্রেমওয়ার্কের জন্য উপলব্ধ 7.7.২ <= আপনার ফ্রেম ওয়ার্ক <=। নেট কোর ২.০
পল গর্বাস

যেহেতু আমরা টাইটেল কেসিংয়ের জন্য ইনভেরিন্টকালচার ব্যবহার করছি, s.ToLowerInvariant () s.ToLower () এর পরিবর্তে ব্যবহার করা উচিত।
ভিনিগাস 28:25 '

27

ব্যক্তিগতভাবে আমি TextInfo.ToTitleCaseপদ্ধতিটি চেষ্টা করেছিলাম , তবে, আমি বুঝতে পারি না যে সমস্ত অক্ষর যখন উচ্চ-কেসড থাকে তখন কেন এটি কাজ করে না।

যদিও আমি উইনস্টন স্মিথের সরবরাহকৃত ইউজ ফাংশনটি পছন্দ করি, তবে আমি বর্তমানে যে ফাংশনটি ব্যবহার করছি তা সরবরাহ করুন:

public static String TitleCaseString(String s)
{
    if (s == null) return s;

    String[] words = s.Split(' ');
    for (int i = 0; i < words.Length; i++)
    {
        if (words[i].Length == 0) continue;

        Char firstChar = Char.ToUpper(words[i][0]); 
        String rest = "";
        if (words[i].Length > 1)
        {
            rest = words[i].Substring(1).ToLower();
        }
        words[i] = firstChar + rest;
    }
    return String.Join(" ", words);
}

কিছু পরীক্ষার স্ট্রিং নিয়ে বাজানো :

String ts1 = "Converting string to title case in C#";
String ts2 = "C";
String ts3 = "";
String ts4 = "   ";
String ts5 = null;

Console.Out.WriteLine(String.Format("|{0}|", TitleCaseString(ts1)));
Console.Out.WriteLine(String.Format("|{0}|", TitleCaseString(ts2)));
Console.Out.WriteLine(String.Format("|{0}|", TitleCaseString(ts3)));
Console.Out.WriteLine(String.Format("|{0}|", TitleCaseString(ts4)));
Console.Out.WriteLine(String.Format("|{0}|", TitleCaseString(ts5)));

আউটপুট প্রদান :

|Converting String To Title Case In C#|
|C|
||
|   |
||

1
@ কঠোর: "কুরুচিপূর্ণ" সমাধানটি আমি বলব ... আমার পক্ষে কোনও ধারণা নেই যে আপনি সম্পূর্ণ স্ট্রিংকে লোয়ার-কেস-এ রূপান্তর করেছেন।
লুইস কুইজাদা

4
এটি ইচ্ছাকৃত, কারণ যদি আপনি "ইউনিসেফ এবং দাতব্য" কে শিরোনামে মামলা করার জন্য বলেন, আপনি চান না যে এটি ইউনিসেফে পরিবর্তিত হোক।
কেসি

4
সুতরাং ToLower()পুরো স্ট্রিংকে কল করার পরিবর্তে , আপনি বরং সেই সমস্ত কাজ নিজেই করবেন এবং প্রতিটি স্বতন্ত্র চরিত্রের একই ফাংশনটি কল করবেন? এটি কেবল একটি কুৎসিত সমাধান নয়, এটি শূন্য সুবিধা দিচ্ছে, এমনকি বিল্ট-ইন ফাংশনটির চেয়েও বেশি সময় নিতে পারে।
ক্রিলগার

3
rest = words[i].Substring(1).ToLower();
ক্রিলগার

1
@ আরফিন নং একটি একক ইন প্যারামিটার সহ সাবস্ট্রিং দেওয়া সূচী থেকে শুরু হয় এবং স্ট্রিংয়ের শেষে সবকিছু ফিরিয়ে দেয়।
ক্রিলগার

21

সম্প্রতি আমি এর থেকে আরও ভাল সমাধান খুঁজে পেয়েছি।

যদি আপনার লেখায় প্রতিটি অক্ষর বড় হাতের অক্ষরে থাকে তবে টেক্সটইনফো এটিকে যথাযথ ক্ষেত্রে রূপান্তর করবে না। আমরা অভ্যন্তরের ছোট হাতের কাজটি ব্যবহার করে এটি ঠিক করতে পারি:

public static string ConvertTo_ProperCase(string text)
{
    TextInfo myTI = new CultureInfo("en-US", false).TextInfo;
    return myTI.ToTitleCase(text.ToLower());
}

এখন এটি প্রোপারকেসে রূপান্তরিত হবে।


17
public static string PropCase(string strText)
{
    return new CultureInfo("en").TextInfo.ToTitleCase(strText.ToLower());
}

1
আমি পছন্দ করি যে আপনি টাইটেলক্যাসের আগে টোলওয়ার যুক্ত করেছিলেন, পরিস্থিতিটি যেখানে ইনপুট পাঠ্যটি সমস্ত ক্যাপ থাকে সেটিকে কভার করে।
joelc

7

যদি কেউ কমপ্যাক্ট ফ্রেমওয়ার্কের সমাধানের জন্য আগ্রহী হন:

return String.Join(" ", thestring.Split(' ').Select(i => i.Substring(0, 1).ToUpper() + i.Substring(1).ToLower()).ToArray());

স্ট্রিং ইন্টারপোলেশন সহ: রিটার্ন স্ট্রিং.জায়ান ("", পাঠ্য.স্প্লিট ('')। নির্বাচন করুন (i => $ "{i.সুবস্ট্রিং (0, 1)। টুঅপার ()} {i.সুবস্ট্রিং (1)। ToLower ()} ")। টুআর্রে ());
টেড

6

এই সমস্যার সমাধান এখানে ...

CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
TextInfo textInfo = cultureInfo.TextInfo;
string txt = textInfo.ToTitleCase(txt);

5

সঠিক আউটপুট পেতে ফলাফলের ToLower()চেয়ে প্রথমে ব্যবহার করুন CultureInfo.CurrentCulture.TextInfo.ToTitleCase

    //---------------------------------------------------------------
    // Get title case of a string (every word with leading upper case,
    //                             the rest is lower case)
    //    i.e: ABCD EFG -> Abcd Efg,
    //         john doe -> John Doe,
    //         miXEd CaSING - > Mixed Casing
    //---------------------------------------------------------------
    public static string ToTitleCase(string str)
    {
        return CultureInfo.CurrentCulture.TextInfo.ToTitleCase(str.ToLower());
    }

3

সমস্ত ক্যাপ শব্দের মোকাবিলা করার জন্য আমার একটি উপায়ের প্রয়োজন ছিল এবং আমি রিকি এইএইচ এর সমাধানটি পছন্দ করেছিলাম তবে এটি একটি এক্সটেনশন পদ্ধতি হিসাবে বাস্তবায়নের জন্য আমি এটি আরও একধাপ এগিয়ে নিয়ে গিয়েছিলাম। এটি আপনার চরিত্রের অ্যারে তৈরি করার পদক্ষেপ এড়িয়ে চলেছে তারপরে প্রতিবার স্পষ্টভাবে এটিতে টোআরিকে কল করুন - যাতে আপনি কেবল স্ট্রিংয়ে এটি কল করতে পারেন:

ব্যবহার:

string newString = oldString.ToProper();

কোড:

public static class StringExtensions
{
    public static string ToProper(this string s)
    {
        return new string(s.CharsToTitleCase().ToArray());
    }

    public static IEnumerable<char> CharsToTitleCase(this string s)
    {
        bool newWord = true;
        foreach (char c in s)
        {
            if (newWord) { yield return Char.ToUpper(c); newWord = false; }
            else yield return Char.ToLower(c);
            if (c == ' ') newWord = true;
        }
    }

}

1
(সি == '' || সি == '\' ') সবেমাত্র আরও একটি ওআর শর্ত যুক্ত করা হয়েছে ... কখনও কখনও নামগুলিতে অ্যাডাস্টোফেস (') থাকে।
জেএসকে

2

নিজের কোড ব্যবহার করে বোঝা আরও ভাল ...

আরও পড়ুন

http://www.stupidcodes.com/2014/04/convert-string-to-uppercase-proper-case.html

1) একটি স্ট্রিংকে আপারকেসে রূপান্তর করুন

string lower = "converted from lowercase";
Console.WriteLine(lower.ToUpper());

2) একটি স্ট্রিংকে লোয়ারকেসে রূপান্তর করুন

string upper = "CONVERTED FROM UPPERCASE";
Console.WriteLine(upper.ToLower());

3) একটি স্ট্রিংকে টাইটেলকেসে রূপান্তর করুন

    CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
    TextInfo textInfo = cultureInfo.TextInfo;
    string txt = textInfo.ToTitleCase(TextBox1.Text());

1

এখানে একটি বাস্তবায়ন, চরিত্র অনুসারে অক্ষর। "(এক দুই তিন)" দিয়ে কাজ করা উচিত

public static string ToInitcap(this string str)
{
    if (string.IsNullOrEmpty(str))
        return str;
    char[] charArray = new char[str.Length];
    bool newWord = true;
    for (int i = 0; i < str.Length; ++i)
    {
        Char currentChar = str[i];
        if (Char.IsLetter(currentChar))
        {
            if (newWord)
            {
                newWord = false;
                currentChar = Char.ToUpper(currentChar);
            }
            else
            {
                currentChar = Char.ToLower(currentChar);
            }
        }
        else if (Char.IsWhiteSpace(currentChar))
        {
            newWord = true;
        }
        charArray[i] = currentChar;
    }
    return new string(charArray);
}

1
String TitleCaseString(String s)
{
    if (s == null || s.Length == 0) return s;

    string[] splits = s.Split(' ');

    for (int i = 0; i < splits.Length; i++)
    {
        switch (splits[i].Length)
        {
            case 1:
                break;

            default:
                splits[i] = Char.ToUpper(splits[i][0]) + splits[i].Substring(1);
                break;
        }
    }

    return String.Join(" ", splits);
}

1

ত্রুটিগুলি দূর করার জন্য নাল বা ফাঁকা স্ট্রিংয়ের মানগুলি পরীক্ষা করার পরে আপনি সরাসরি এই সাধারণ পদ্ধতিটি ব্যবহার করে পাঠ্য বা স্ট্রিংটিকে যথাযথভাবে পরিবর্তন করতে পারেন:

public string textToProper(string text)
{
    string ProperText = string.Empty;
    if (!string.IsNullOrEmpty(text))
    {
        ProperText = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(text);
    }
    else
    {
        ProperText = string.Empty;
    }
    return ProperText;
}

0

এটা চেষ্টা কর:

using System.Globalization;
using System.Threading;
public void ToTitleCase(TextBox TextBoxName)
        {
            int TextLength = TextBoxName.Text.Length;
            if (TextLength == 1)
            {
                CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
                TextInfo textInfo = cultureInfo.TextInfo;
                TextBoxName.Text = textInfo.ToTitleCase(TextBoxName.Text);
                TextBoxName.SelectionStart = 1;
            }
            else if (TextLength > 1 && TextBoxName.SelectionStart < TextLength)
            {
                int x = TextBoxName.SelectionStart;
                CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
                TextInfo textInfo = cultureInfo.TextInfo;
                TextBoxName.Text = textInfo.ToTitleCase(TextBoxName.Text);
                TextBoxName.SelectionStart = x;
            }
            else if (TextLength > 1 && TextBoxName.SelectionStart >= TextLength)
            {
                CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
                TextInfo textInfo = cultureInfo.TextInfo;
                TextBoxName.Text = textInfo.ToTitleCase(TextBoxName.Text);
                TextBoxName.SelectionStart = TextLength;
            }
        }


টেক্সটবক্সের পাঠ্য-পরিবর্তিত ইভেন্টে এই পদ্ধতিটিকে কল করুন।


0

আমি উপরোক্ত রেফারেন্সগুলি ব্যবহার করেছি এবং সম্পূর্ণ সমাধানটি হ'ল: -

Use Namespace System.Globalization;
string str="INFOA2Z means all information";

// "ইনফোয়া টুজ সমস্ত তথ্য বোঝায়" এর মতো ফলাফলের
প্রয়োজন // // স্ট্রিংটি ছোট হাতের মধ্যেও রূপান্তর করতে হবে অন্যথায় এটি সঠিকভাবে কাজ করছে না।

TextInfo ProperCase= new CultureInfo("en-US", false).TextInfo;

str= ProperCase.ToTitleCase(str.toLower());

http://www.infoa2z.com/asp.net/change-string-to-proper-case-in-an-asp.net-using-c#


0

এটি আমি ব্যবহার করি এবং এটি বেশিরভাগ ক্ষেত্রেই কাজ করে যদি না ব্যবহারকারী এটি শিফ্ট বা ক্যাপস লক টিপে ওভাররাইড করার সিদ্ধান্ত না নেয়। অ্যান্ড্রয়েড এবং আইওএস কীবোর্ডে পছন্দ করুন।

Private Class ProperCaseHandler
    Private Const wordbreak As String = " ,.1234567890;/\-()#$%^&*€!~+=@"
    Private txtProperCase As TextBox

    Sub New(txt As TextBox)
        txtProperCase = txt
        AddHandler txt.KeyPress, AddressOf txtTextKeyDownProperCase
    End Sub

    Private Sub txtTextKeyDownProperCase(ByVal sender As System.Object, ByVal e As Windows.Forms.KeyPressEventArgs)
        Try
            If Control.IsKeyLocked(Keys.CapsLock) Or Control.ModifierKeys = Keys.Shift Then
                Exit Sub
            Else
                If txtProperCase.TextLength = 0 Then
                    e.KeyChar = e.KeyChar.ToString.ToUpper()
                    e.Handled = False
                Else
                    Dim lastChar As String = txtProperCase.Text.Substring(txtProperCase.SelectionStart - 1, 1)

                    If wordbreak.Contains(lastChar) = True Then
                        e.KeyChar = e.KeyChar.ToString.ToUpper()
                        e.Handled = False
                    End If
                End If

            End If

        Catch ex As Exception
            Exit Sub
        End Try
    End Sub
End Class

0

যেগুলি কীপ্রেসে স্বয়ংক্রিয়ভাবে এটি করতে চাইছেন তাদের জন্য আমি কাস্টম টেক্সটবক্সকন্ট্রোলটিতে vb.net এ নিম্নলিখিত কোড সহ এটি করেছি - আপনি অবশ্যই একটি সাধারণ পাঠ্যবাক্স দিয়ে এটি করতে পারেন - তবে আমি নির্দিষ্ট নিয়ন্ত্রণগুলির জন্য পুনরাবৃত্ত কোড যুক্ত করার সম্ভাবনা পছন্দ করি কাস্টম নিয়ন্ত্রণের মাধ্যমে এটি ওওপি-র ধারণার স্যুট করে।

Imports System.Windows.Forms
Imports System.Drawing
Imports System.ComponentModel

Public Class MyTextBox
    Inherits System.Windows.Forms.TextBox
    Private LastKeyIsNotAlpha As Boolean = True
    Protected Overrides Sub OnKeyPress(e As KeyPressEventArgs)
        If _ProperCasing Then
            Dim c As Char = e.KeyChar
            If Char.IsLetter(c) Then
                If LastKeyIsNotAlpha Then
                    e.KeyChar = Char.ToUpper(c)
                    LastKeyIsNotAlpha = False
                End If
            Else
                LastKeyIsNotAlpha = True
            End If
        End If
        MyBase.OnKeyPress(e)
End Sub
    Private _ProperCasing As Boolean = False
    <Category("Behavior"), Description("When Enabled ensures for automatic proper casing of string"), Browsable(True)>
    Public Property ProperCasing As Boolean
        Get
            Return _ProperCasing
        End Get
        Set(value As Boolean)
            _ProperCasing = value
        End Set
    End Property
End Class

0

এমনকি উটের ক্ষেত্রেও দুর্দান্ত কাজ করে: 'আপনারপেজের কিছু অংশ'

public static class StringExtensions
{
    /// <summary>
    /// Title case example: 'Some Text In Your Page'.
    /// </summary>
    /// <param name="text">Support camel and title cases combinations: 'someText in YourPage'</param>
    public static string ToTitleCase(this string text)
    {
        if (string.IsNullOrEmpty(text))
        {
            return text;
        }
        var result = string.Empty;
        var splitedBySpace = text.Split(new[]{ ' ' }, StringSplitOptions.RemoveEmptyEntries);
        foreach (var sequence in splitedBySpace)
        {
            // let's check the letters. Sequence can contain even 2 words in camel case
            for (var i = 0; i < sequence.Length; i++)
            {
                var letter = sequence[i].ToString();
                // if the letter is Big or it was spaced so this is a start of another word
                if (letter == letter.ToUpper() || i == 0)
                {
                    // add a space between words
                    result += ' ';
                }
                result += i == 0 ? letter.ToUpper() : letter;
            }
        }            
        return result.Trim();
    }
}

0

এক্সটেনশন পদ্ধতি হিসাবে:

/// <summary>
//     Returns a copy of this string converted to `Title Case`.
/// </summary>
/// <param name="value">The string to convert.</param>
/// <returns>The `Title Case` equivalent of the current string.</returns>
public static string ToTitleCase(this string value)
{
    string result = string.Empty;

    for (int i = 0; i < value.Length; i++)
    {
        char p = i == 0 ? char.MinValue : value[i - 1];
        char c = value[i];

        result += char.IsLetter(c) && ((p is ' ') || p is char.MinValue) ? $"{char.ToUpper(c)}" : $"{char.ToLower(c)}";
    }

    return result;
}

ব্যবহার:

"kebab is DELICIOU's   ;d  c...".ToTitleCase();

ফলাফল:

Kebab Is Deliciou's ;d C...


0

রেফারেন্স সহ বিকল্প Microsoft.VisualBasic (বড় হাতের স্ট্রিংগুলিও পরিচালনা করে):

string properCase = Strings.StrConv(str, VbStrConv.ProperCase);

0

ব্যবহার না করে TextInfo:

public static string TitleCase(this string text, char seperator = ' ') =>
  string.Join(seperator, text.Split(seperator).Select(word => new string(
    word.Select((letter, i) => i == 0 ? char.ToUpper(letter) : char.ToLower(letter)).ToArray())));

এটি প্রতিটি শব্দের প্রতিটি অক্ষরের মধ্য দিয়ে লুপ করে, বড় অক্ষরে রূপান্তর করে যদি এটি প্রথম অক্ষর হয় অন্যথায় এটি ছোট হাতের সাথে রূপান্তর করে।


-1

আমি এটি একটি পুরানো প্রশ্ন জানি কিন্তু আমি সিটির জন্য একই জিনিসটি সন্ধান করছিলাম এবং আমি এটি বের করেছিলাম তাই আমি অনুভব করেছি যে অন্য কেউ সি-তে কোনও উপায় অনুসন্ধান করে থাকলে আমি এটি পোস্ট করতাম:

char proper(char string[]){  

int i = 0;

for(i=0; i<=25; i++)
{
    string[i] = tolower(string[i]);  //converts all character to lower case
    if(string[i-1] == ' ') //if character before is a space 
    {
        string[i] = toupper(string[i]); //converts characters after spaces to upper case
    }

}
    string[0] = toupper(string[0]); //converts first character to upper case


    return 0;
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.