定义:
string str = "12345678900987654321556677889912345";现在我想按10个字符长度来分割字符,最后不满10个字符的也单独成一个元素,即转换成:string[] strarr = {"1234567890","0987654321","5566778899","12345"};请给出str->strarr的具体转换代码
string str = "12345678900987654321556677889912345";现在我想按10个字符长度来分割字符,最后不满10个字符的也单独成一个元素,即转换成:string[] strarr = {"1234567890","0987654321","5566778899","12345"};请给出str->strarr的具体转换代码
string[] newstr=new string[newLength];
int j=0;
for(int i=0; i<str.length; i=i+10)
{
newstr[j]=str.substring(i,10);
j++;
}
int newLength=(int)Math.Ceil(str.length/10.0)
string[] newstr=new string[newLength];
int j=0;
for(int i=0; i <str.length; i=i+10)
{
if(str.length-i>=10)
{
newstr[j]=str.substring(i,10);
}
else
{
newstr[j]=str.substring(i,str.length-i);
}
j++;
}
你这样写是错的 兄弟
不长不行啊
不满意我的代码 你自己再想想吧
string[] strarr = Regex.Replace(str, @"\w{10}", @"$&|").Split('|');
string[] strarr = Regex.Replace(str, @"\w{10}", @"$&~").Split('~');
string str = "12345678900987654321556677889912345";
int i = (int)Math.Ceiling(str.Length / 10.0);
string[] strr = new string[i];
for (int j = 0; j < i; j++)
{
if (j != i - 1)
strr[j] = str.Substring(j*10, 10);
else
strr[j] = str.Substring(j * 10,str.Length-j*10);
}
突然想到一个问题,如果str的length正好为10的倍数,则数组最后会多出一个空串.
解决为 string str = "12345678900987654321556677889912345";
string[] strarr = Regex.Replace(str, @"\w{10}", @"$&~").TrimEnd('~').Split('~');