我需要为Visual Studio 2010宏准备一个字符串。该字符串应该是文档名称(document.Name
)但没有文件扩展名(例如.cs
),并且在每个大写字母后应该是一个空格。
示例:
document.Name = TestFileName.cs
我怎样才能得到这个:
"Test File Name"
答案 0 :(得分:2)
对于琐碎的案例(非连续大写):
file = IO.Path.GetFileNameWithoutExtension(file)
file = System.Text.RegularExpressions.Regex.Replace(file, "([a-z0-9])([A-Z])", "$1 $2")
答案 1 :(得分:1)
这是一个基本框架
String PreString = "getAllItemsByID";
System.Text.StringBuilder SB = new System.Text.StringBuilder();
foreach (Char C in PreString)
{
if (Char.IsUpper(C))
SB.Append(' ');
SB.Append(C);
}
Response.Write(SB.ToString());
您可能需要添加一些检查: - 当第一个char为大写时不添加空格。 - 遇到ID这样的单词时,删除最后一个空格。
[或试试这个]
这将找到小写字符的每个出现后跟一个大写字符,并在它们之间插入一个空格:
s = s.replace(/([a-z])([A-Z])/g, '$1 $2')