剪切一个字符串并将其粘贴到List中?

时间:2015-09-23 15:53:10

标签: string unity3d substring string-split

我有一个这样的字符串:

 string exampleStr = "0123456789 abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ";

现在我想写一个这样的函数:

 private void StringCut(string str, int cut) {

     //... Cut string and put it in a string list

 }

您可以将字符串赋予具有int值的函数。

E.g。

 StringCut(exampleStr, 5);

现在该函数应该将字符串剪切成5个并将字符串片段放入List中。

我该怎么做?

我尝试将字符串拆分为:

 exampleStr.Substring(... , ... ));

但它做了很多工作。有没有快速的方法呢?

我没有尝试过exampleStr.Split,因为文本和字符串的长度总是不同。

1 个答案:

答案 0 :(得分:1)

我做到了。如果有人需要它。

C#代码:

private int maxStrLength = 30;

private List<string> StringCut(string getStr, int cut) {

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

    int getStringLength = getStr.Length;

    if (getStringLength > maxStrLength) {

        // GREATER

        float tmpDiv = (float)getStringLength/(float)maxStrLength;

        int roundTmpDiv = (int)System.Math.Ceiling(tmpDiv);

        for (int i = 0; i < roundTmpDiv; i++) {

            string tmpStr = "";

            if (i != roundTmpDiv-1) {

                tmpStr = getStr.Substring(i*maxStrLength, maxStrLength);

            } else {

                int rest = getStr.Length-((roundTmpDiv-1)*maxStrLength);

                tmpStr = getStr.Substring(i*maxStrLength, rest);

            }

            strToList.Add(tmpStr);

        }

    } else {

        // LOWER

        strToList.Add(getStr);
    }

    return strToList;

}

void Start() {

    string testString = "0123456789 abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    List<string> tmpStr = StringCut (testString, 2);

    foreach (string tmpString in tmpStr){
        print (tmpString);
    }

}

如果您有更好的解决方案,请在此处发布您的代码。