0

我想在数字前放置一个空格。

例如,我有这个 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, " ");
  }
 }

但结果是:“Support Contact Address Line1”

4

3 回答 3

2

也检查一个数字:

if (Char.IsLower(s[i - 1]) && (Char.IsUpper(s[i]) || Char.IsDigit(s[i])))
于 2013-02-19T09:16:22.623 回答
0

数字不是字母,因此没有大小写之分,char.IsUpper('1')返回false.

您应该包括使用char.IsDigit(...)来检查数字。

于 2013-02-19T09:18:09.217 回答
0

这应该可以帮助您:

var res = Regex.Replace("SupportContactAddressLine100", "([A-Z])|([0-9]+)", " $1$2");
于 2013-02-19T09:38:32.530 回答