-1

長い文字列を分割するにはどうすればよいですか?

入力:

ABCDEFGHI

出力:

ABC, DEF, GHI
4

2 に答える 2

0

使用する

string str = "ABCDEFGHI";

List<string> lst = new List<string>();

string temp = "";

for(int i = 0; i < str.Length; i++)
{
    temp = str[i].ToString();

    if((i + 1) % 3 == 0)
    {
        lst.Add(temp);
        temp = "";
    }
}

string final_str = string.Join(", ", lst);
于 2012-05-18T10:53:14.250 に答える
0

これが非常に長い文字列であると仮定すると、文字列ビルダーを使用して連結を行います。また、部分文字列を使用して、個別にグループ化された文字列を作成します。これにより、メモリを節約できます。

string longString = "ABCDEFGHIJK";
int groupingLength = 3;

var stringLength = longString.Length;
var startingLength = Math.Min(longString.Length, groupingLength);
var startingString = longString.Substring(0, startingLength);
var sb = new StringBuilder(startingString);
if (stringLength > groupingLength)
{
    for(int i = groupingLength; i < stringLength; i = i + groupingLength)
    {
        var subStringLength = Math.Min(stringLength - i, groupingLength);
        var groupedString = longString.Substring(i, subStringLength);
        sb.Append(", ").Append(groupedString);
    }
}
var finalString = sb.ToString();
于 2012-05-19T01:58:40.983 に答える