繁体   English   中英

在PascalCase字符串中插入数字之前的空格

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM