-1

我有一系列字符串,格式如下:

  • 项目一:丰田:卡罗拉
  • 项目1:Hoyota:雅阁
  • 项目1:丰田:凯美瑞

如您所见,字符串的中间部分大小写不一致(对于 Corolloa,它被列为 toyota)。我需要在上面进行如下更改:

  • 项目1:丰田:卡罗拉
  • 项目1:H oyota:雅阁
  • 项目1:丰田:凯美

我想让字符串的中间部分成为标题大小写。

我正在使用以下

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

并使用 .ToTitleCase 但 TitleCase 的问题是如果字符串为大写,它不会更改为 TitleCase。我们知道如何处理字符串为大写的情况吗?

4

3 回答 3

3

您可以使用TextInfo.ToTitleCase

textInfo.ToTitleCase("Project1:toyota:Corolla")
于 2018-03-16T20:38:55.380 回答
2

您可以使用.ToTitleCase()

var myString = "Project1:toyota:Corolla";
TextInfo textInfo = new CultureInfo( "en-US" ).TextInfo;
myString = textInfo.ToTitleCase(myString);
于 2018-03-16T20:37:50.197 回答
0

正则表达式替代:

var result = Regex.Replace("Project1:toyota:Corolla", @"\b[a-z]", m => m.Value.ToUpper());
于 2018-03-16T22:08:13.237 回答