0

たとえば、2文字の後に文字列(配列からの文字列)にスペースを追加したいのです 123456789012 34 56 78 90、それを行う方法はありますか?

4

4 に答える 4

4
"0123567236359783590203582835"
.ToCharArray()
.Aggregate("",
(result, c) => result += ((!string.IsNullOrEmpty(result) && (result.Length+1) % 3 == 0)
                          ? " " : "")
                         + c.ToString()
            );

// --> 01 23 56 72 36 35 97 83 59 02 03 58 28 35
于 2011-03-14T19:22:44.647 に答える
3

おそらく次のようにループを実行する必要があります。

int i = 0;
int amount = 2;
string s = "1234567890";
string withspaces = "";

while (i+amount < s.Length) {
  s += s.Substring(i,i+amount);
  s += " ";
  i = i + amount;
}

これは文字列の使用に負担がかかる可能性があるため、効果的な文字列連結についてよく読んでください。

于 2011-03-14T19:08:15.463 に答える
0

上記の例のように、固定数の数値をフォーマットすることを特に検討している場合は、次のものがニーズに適合します。

int n = 1234567890;
string s = String.Format("{0:00 00 00 00 00}", n);

これは、1234567890が数値として格納されていることを前提としていることに注意してください。nタイプが の場合はフォーマットされませんstringnフォーマットする前に数値に キャストすることで、これを克服できます。

文字数に制限がない場合は、より汎用性の高いソリューションが必要になります。

于 2011-03-14T19:06:05.947 に答える
0

次の手順をお勧めします

  1. 入力文字列の長さを処理する For ループを作成します。

  2. Forループの各実行中に、文字列のi番目の要素を結果に連結します。

    結果+=入力[i];

  3. forループ内では、カウントを追跡し、すべてのcount%2 == 0concatスペースの後に結果を追跡します。

    結果+=" ";

お役に立てれば。

于 2011-03-14T19:09:13.887 に答える