我想在数字前加一个空格。
比如说我有这个PascalCase字符串:“SupportContactAddressLine1”。
我希望它显示“支持联系地址第1行”
我试过这个:
var s = PascalCase;
for (var i = 1; i < s.Length; i++)
{
if (char.IsLower(s[i - 1]) && char.IsUpper(s[i]))
{
s = s.Insert(i, " ");
}
}
但结果是:“支持联系地址Line1”
答案 0 :(得分:2)
检查一个数字:
if (Char.IsLower(s[i - 1]) && (Char.IsUpper(s[i]) || Char.IsDigit(s[i])))
答案 1 :(得分:0)
数字不是字母,因此小写和大写之间没有区别,char.IsUpper('1')
返回false
。
您应该使用char.IsDigit(...)
来检查数字。
答案 2 :(得分:0)
这可以帮到你:
var res = Regex.Replace("SupportContactAddressLine100", "([A-Z])|([0-9]+)", " $1$2");