从Pascal大小写(大写驼峰大小写)转换成句子的最佳方法是什么?
例如,以
"AwaitingFeedback"
并将其转换为
"Awaiting feedback"
最好是C#,但我可以把它从Java或类似的语言转换过来。
发布于 2009-07-31 09:04:05
public static string ToSentenceCase(this string str)
{
return Regex.Replace(str, "[a-z][A-Z]", m => m.Value[0] + " " + char.ToLower(m.Value[1]));
}
在2015年以后的visual studio版本中,您可以执行以下操作
public static string ToSentenceCase(this string str)
{
return Regex.Replace(str, "[a-z][A-Z]", m => $"{m.Value[0]} {char.ToLower(m.Value[1])}");
}
基于:Converting Pascal case to sentences using regular expression
发布于 2008-11-27 09:42:58
给你..。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CamelCaseToString
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(CamelCaseToString("ThisIsYourMasterCallingYou"));
}
private static string CamelCaseToString(string str)
{
if (str == null || str.Length == 0)
return null;
StringBuilder retVal = new StringBuilder(32);
retVal.Append(char.ToUpper(str[0]));
for (int i = 1; i < str.Length; i++ )
{
if (char.IsLower(str[i]))
{
retVal.Append(str[i]);
}
else
{
retVal.Append(" ");
retVal.Append(char.ToLower(str[i]));
}
}
return retVal.ToString();
}
}
}
发布于 2012-07-11 20:36:20
在MvcContrib源码中找到了这个,这里似乎还没有提到。
return Regex.Replace(input, "([A-Z])", " $1", RegexOptions.Compiled).Trim();
https://stackoverflow.com/questions/323314
复制相似问题