如何从这个字符串开始:"ThisIsMyCapsDelimitedString“
此字符串:"This Is My Caps ...to String“
最好使用最少的VB.net代码行,但也欢迎使用C#。
干杯!
发布于 2008-09-30 22:15:00
Regex.Replace("ThisIsMyCapsDelimitedString", "(\\B[A-Z])", " $1")
发布于 2008-11-15 00:31:19
回答得很好,MizardX!我稍微调整了一下,将数字作为单独的单词处理,这样"AddressLine1“就变成了"Address Line1 1”,而不是"Address Line1":
Regex.Replace(s, "([a-z](?=[A-Z0-9])|[A-Z](?=[A-Z][a-z]))", "$1 ")
发布于 2008-09-30 22:59:04
只是为了一点变化。下面是一个不使用正则表达式的扩展方法。
public static class CamelSpaceExtensions
{
public static string SpaceCamelCase(this String input)
{
return new string(Enumerable.Concat(
input.Take(1), // No space before initial cap
InsertSpacesBeforeCaps(input.Skip(1))
).ToArray());
}
private static IEnumerable<char> InsertSpacesBeforeCaps(IEnumerable<char> input)
{
foreach (char c in input)
{
if (char.IsUpper(c))
{
yield return ' ';
}
yield return c;
}
}
}
https://stackoverflow.com/questions/155303
复制相似问题