[英]Insert space before number in PascalCase string
我想在数字前放置一个空格。
比方说,我有这个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”
检查一个数字:
if (Char.IsLower(s[i - 1]) && (Char.IsUpper(s[i]) || Char.IsDigit(s[i])))
数字不是字母,因此小写和大写之间没有区别,并且char.IsUpper('1')
返回false
。
您应该包括使用char.IsDigit(...)
来检查数字。
这应该可以帮到你:
var res = Regex.Replace("SupportContactAddressLine100", "([A-Z])|([0-9]+)", " $1$2");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.