将部分字符串更新为Title Case

时间:2018-03-16 20:27:32

标签: c# string title-case

我有一系列字符串,我按以下格式获取:

  • PROJECT1:丰田:花冠
  • PROJECT1:Hoyota:雅阁
  • PROJECT1:丰田:凯美

正如你可以看到字符串的中间部分不一致的情况(对于Corolloa,它被列为丰田)。我需要更改如下:

  • PROJECT1:的Ť oyota:花冠
  • PROJECT1:的ħ oyota:雅阁
  • PROJECT1:的Ť oyota:凯美

我想将字符串的中间部分设为Title Case。

我正在使用以下

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

并使用.ToTitleCase,但TitleCase的问题是如果字符串是大写的,它将不会更改为TitleCase。当字符串为大写时,我们是否知道如何处理大小写。

3 个答案:

答案 0 :(得分:3)

您可以使用TextInfo.ToTitleCase

textInfo.ToTitleCase("Project1:toyota:Corolla")

答案 1 :(得分:2)

您可以使用.ToTitleCase()

var myString = "Project1:toyota:Corolla";
TextInfo textInfo = new CultureInfo( "en-US" ).TextInfo;
myString = textInfo.ToTitleCase(myString);

答案 2 :(得分:0)

正则表达式替代:

var result = Regex.Replace("Project1:toyota:Corolla", @"\b[a-z]", m => m.Value.ToUpper());