1

それを理解しようとしてあまりにも多くの時間を費やした後、これをあきらめて、他の誰かがやりたいかどうか見てみようと思いました!

3 つ以上の連続する大文字がある場合、最後の連続する大文字の前にスペースを挿入する正規表現が必要です。

例:

A = A
AB = AB
ABC = AB C
ABCD = ABC D
abCdefGHijkLMNop = abCdefGHijkLM Nop
4

3 に答える 3

4

この正規表現は以下をグループ化します:

([A-Z]{2,})([A-Z]+)

次に、グループ1、スペース、グループ2を出力するだけです

于 2013-02-28T16:21:23.383 に答える
0

交換品

string output=Regex.Replace(input, @"(?<=[A-Z]{2})(?=[A-Z][^A-Z]|[A-Z]$)", " ");

チェーンの最後の 2 つの大文字の間の長さゼロのポイントをスペースで「置換」します。つまり、スペースを挿入します。

于 2013-02-28T16:26:57.933 に答える
0
string str = "ABC";
str = Regex.Replace(str, @"([A-Z]{2,})([A-Z])", "$1 $2"); 

Console.WriteLine(str);    // "AB C"
于 2013-02-28T16:24:30.707 に答える