我正要编写自己的C#扩展来将字符串转换为Proper Case(即将每个单词的第一个字母大写),然后我想知道是否没有本地C#函数来做那个......是吗?
Jam*_*xon 67
String s = "yOu caN Use thIs"
s = System.Threading.Thread.CurrentThread
.CurrentCulture.TextInfo.ToTitleCase(s.ToLower());
Run Code Online (Sandbox Code Playgroud)
我可以看到的主要限制是它不是"真正的"标题案例.即在短语"WaR aNd peaCe"中,"和"部分应为英文小写.尽管如此,这种方法仍可以利用它.
Gre*_*ech 37
有一个函数可以将单词的第一个字母大写,但是你应该看到备注部分,因为它有一些限制,可能使它不适合你的需要.
Tot*_*eRo 11
你可以在Sting类型中添加一些扩展方法:
public static class StringExtension
{
/// <summary>
/// Use the current thread's culture info for conversion
/// </summary>
public static string ToTitleCase(this string str)
{
var cultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture;
return cultureInfo.TextInfo.ToTitleCase(str.ToLower());
}
/// <summary>
/// Overload which uses the culture info with the specified name
/// </summary>
public static string ToTitleCase(this string str, string cultureInfoName)
{
var cultureInfo = new CultureInfo(cultureInfoName);
return cultureInfo.TextInfo.ToTitleCase(str.ToLower());
}
/// <summary>
/// Overload which uses the specified culture info
/// </summary>
public static string ToTitleCase(this string str, CultureInfo cultureInfo)
{
return cultureInfo.TextInfo.ToTitleCase(str.ToLower());
}
}
Run Code Online (Sandbox Code Playgroud)
小智 9
这有效
public static string ConvertTo_ProperCase(string text)
{
TextInfo myTI = new CultureInfo("en-US", false).TextInfo;
return myTI.ToTitleCase(text.ToLower());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30345 次 |
| 最近记录: |