0

数字の前にスペースを入れたい。

たとえば、「SupportContactAddressLine1」という PascalCase 文字列があるとします。

「サポート連絡先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 に答える