我有一个这样的字符串:
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,因为文本和字符串的长度总是不同。
答案 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);
}
}
如果您有更好的解决方案,请在此处发布您的代码。