雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C#教程

當(dāng)前位置:主頁 > 軟件編程 > C#教程 >

C#實(shí)現(xiàn)字符串首字母大寫的方法示例

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C#教程|點(diǎn)擊:

最近在工作中遇到一個(gè)需求,需要將字符串的首字母進(jìn)行大寫,所以找到一些把字符串首字符大寫的方法分享給大家,下面話不多說了,來一起看看詳細(xì)的介紹吧。

假如需要把字符串 “red” 轉(zhuǎn)換為 “Red”,把 “red house” 轉(zhuǎn)為 “Red house” 或者單詞的第一個(gè)大寫,下面就是我從網(wǎng)上看到的技術(shù)。

public static string FirstCharToUpper(string input)
{
 if (String.IsNullOrEmpty(input))
  throw new ArgumentException("ARGH!");
 return input.First().ToString().ToUpper() + input.Substring(1);
}

這個(gè)方法就是拿到第一個(gè)字符,然后加上后面的字符,可以看到這個(gè)方法需要三個(gè)字符串在內(nèi)存。

public string FirstLetterToUpper(string str)
{
 if (str == null)
  return null;
 if (str.Length > 1)
  return char.ToUpper(str[0]) + str.Substring(1);
 return str.ToUpper();
}

這個(gè)方法也是需要兩個(gè)字符串。

下面的方法大概大家比較少會(huì)去發(fā)現(xiàn),就是 CultureInfo 的方法

CultureInfo.CurrentCulture.TextInfo.ToTitleCase(str.ToLower());

這個(gè)方法是比較好方法,假如我輸入”red house” 那么就會(huì)轉(zhuǎn)換為 “Red House”

上面的方法還可以使用這個(gè)方法

CultureInfo("en-US").TextInfo.ToTitleCase("red house");

如果需要使用拼接,可以使用這個(gè)方法

s.Remove(1).ToUpper() + s.Substring(1)

上面這個(gè)方法不會(huì)把 “red house” 轉(zhuǎn)換為 “Red House”

下面給大家一個(gè)性能比較好的方法

char[] a = s.ToCharArray();
  a[0] = char.ToUpper(a[0]);
  return new string(a);

如果需要很多字符串都這樣把第一個(gè)大寫,可以使用下面方法

string str = "red house";
   Console.WriteLine(System.Text.RegularExpressions.Regex.Replace(str, "^[a-z]", m => m.Value.ToUpper()));

和上面方法一樣寫法,可以使用另外的函數(shù)

Regex.Replace(str, @"^\w", t => t.Value.ToUpper());

如果希望有最好的速度,那么請用下面方法

public static unsafe string ToUpperFirst(this string str)
{
 if (str == null) return null;
 string ret = string.Copy(str);
 fixed (char* ptr = ret) 
  *ptr = char.ToUpper(*ptr);
 return ret;
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對我們的支持。

上一篇:C#實(shí)現(xiàn)航班查詢及預(yù)訂功能

欄    目:C#教程

下一篇:C# WinForm實(shí)現(xiàn)圖片瀏覽器

本文標(biāo)題:C#實(shí)現(xiàn)字符串首字母大寫的方法示例

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/5268.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有