gpt4 book ai didi

c# - 如何用 C# 将每个单词的第一个字符或整个字符串的第一个字符大写?

转载 作者:IT王子 更新时间:2023-10-29 03:46:21 24 4
gpt4 key购买 nike

我可以编写自己的算法来做到这一点,但我觉得应该有相当于 ruby's humanize 的算法在 C# 中。

我用谷歌搜索,但只找到了使日期人性化的方法。

例子:

  • 将“Lorem Lipsum Et”变成“Lorem lipsum et”的方法
  • 将“Lorem lipsum et”变成“Lorem Lipsum Et”的方法

最佳答案

@miguel's answer 的评论中所述, 你可以使用 TextInfo.ToTitleCase从 .NET 1.1 开始可用。这是与您的示例相对应的一些代码:

string lipsum1 = "Lorem lipsum et";

// Creates a TextInfo based on the "en-US" culture.
TextInfo textInfo = new CultureInfo("en-US",false).TextInfo;

// Changes a string to titlecase.
Console.WriteLine("\"{0}\" to titlecase: {1}",
lipsum1,
textInfo.ToTitleCase( lipsum1 ));

// Will output: "Lorem lipsum et" to titlecase: Lorem Lipsum Et

它会忽略所有大写的东西,例如“LOREM LIPSUM ET”,因为如果文本中出现首字母缩略词,它会处理大小写,这样“IEEE”(电气和电子工程师协会)就不会变成“ieee” "或 "Ieee"。

但是,如果您只想将第一个字符大写,您可以执行 here 上的解决方案。 ……或者您可以拆分字符串并将列表中的第一个字符串大写:

string lipsum2 = "Lorem Lipsum Et";

string lipsum2lower = textInfo.ToLower(lipsum2);

string[] lipsum2split = lipsum2lower.Split(' ');

bool first = true;

foreach (string s in lipsum2split)
{
if (first)
{
Console.Write("{0} ", textInfo.ToTitleCase(s));
first = false;
}
else
{
Console.Write("{0} ", s);
}
}

// Will output: Lorem lipsum et

关于c# - 如何用 C# 将每个单词的第一个字符或整个字符串的第一个字符大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/913090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com