C#实现字符串首字母大写的方法示例

 更新时间:2018年01月28日 14:19:34   作者:lindexi  
这篇文章主要给大家介绍了关于利用C#实现字符串首字母大写的相关资料,这是在最近工作中遇到的一个需求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

最近在工作中遇到一个需求,需要将字符串的首字母进行大写,所以找到一些把字符串首字符大写的方法分享给大家,下面话不多说了,来一起看看详细的介绍吧。

假如需要把字符串 “red” 转换为 “Red”,把 “red house” 转为 “Red house” 或者单词的第一个大写,下面就是我从网上看到的技术。

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

这个方法就是拿到第一个字符,然后加上后面的字符,可以看到这个方法需要三个字符串在内存。

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();
}

这个方法也是需要两个字符串。

下面的方法大概大家比较少会去发现,就是 CultureInfo 的方法

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

这个方法是比较好方法,假如我输入”red house” 那么就会转换为 “Red House”

上面的方法还可以使用这个方法

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

如果需要使用拼接,可以使用这个方法

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

上面这个方法不会把 “red house” 转换为 “Red House”

下面给大家一个性能比较好的方法

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

如果需要很多字符串都这样把第一个大写,可以使用下面方法

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

和上面方法一样写法,可以使用另外的函数

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;
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • C#手动操作DataGridView使用各种数据源填充表格实例

    C#手动操作DataGridView使用各种数据源填充表格实例

    本文主要介绍了C#手动操作DataGridView使用各种数据源填充表格实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 使用C#实现解析Excel公式

    使用C#实现解析Excel公式

    在日常工作中,我们经常需要在Excel中使用公式对表中数据进行计算和分析,所以本文小编主要来和大家介绍一下如何在C#中实现解析Excel公式,感兴趣的可以了解下
    2024-02-02
  • C#使用itextsharp生成PDF文件的实现代码

    C#使用itextsharp生成PDF文件的实现代码

    以下是对在C#中使用itextsharp生成PDF文件的实现代码进行了详细分析介绍,需要的朋友可以过来参考下
    2013-07-07
  • 深入学习C#多线程

    深入学习C#多线程

    本文详细讲解了C#多线程编程的相关技术,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • C#实现聊天消息渲染与图文混排详解

    C#实现聊天消息渲染与图文混排详解

    在实现聊天软件时,渲染文字表情图文混排是一项非常繁琐的工作,再加上还要支持GIF动图、引用消息、撤回消息、名片等不同样式的消息渲染时,就更加麻烦了。本文就来和大家分享一下具体实现方法,希望对大家有所帮助
    2023-02-02
  • C#使用OleDb操作Excel和数据库的策略

    C#使用OleDb操作Excel和数据库的策略

    在C#编程中,使用OleDb可以方便地实现对Excel文件和数据库的操作,本文探讨了在C#中使用OleDb技术操作Excel和数据库的策略,文章详述了OleDb的定义、配置环境的步骤,并通过实际代码示例演示了如何高效读写Excel文件和交互数据库,需要的朋友可以参考下
    2024-05-05
  • PowerShell 定时执行.Net(C#)程序的方法

    PowerShell 定时执行.Net(C#)程序的方法

    利用PowerShell可以调用动态页面,然后再用 .bat 执行 PowerShell 脚本,最后把 .bat 添加到服务器的任务计划里面。OK,所有操作都做好了,.Net 定时执行了,是不是呢,有木有呢。
    2013-04-04
  • C#浅拷贝和深拷贝实例解析

    C#浅拷贝和深拷贝实例解析

    这篇文章主要介绍了C#浅拷贝和深拷贝,是比较重要的概念,需要的朋友可以参考下
    2014-08-08
  • C# 语音功能的实现方法

    C# 语音功能的实现方法

    最近看了一些资料,是c#实现语音功能的。现在就简单的讲一下怎么实现。
    2013-03-03
  • DataGridView控件显示行号的正确代码及分析

    DataGridView控件显示行号的正确代码及分析

    今天要用到DataGridView,想给它动态的显示行号。于是在网上找了一下解决方法。结果发现了不少问题。然而就是这么一段有错的代码,几乎充斥着整个互联网,千篇一律的COPY,没有一个人纠正
    2013-08-08

最新评论