参考网址:https://blog.csdn.net/yenange/article/details/39637211

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data; namespace Study
{
public static class Program2
{
static void Main(string[] args)
{
string[] source = {
null,
string.Empty,
"",
"",
"",
"",
};
int charNum = ;
int i = ;
foreach (string str in source)
{
Console.WriteLine("原字符串{0}:{1}", (i++).ToString(), str);
string[] r = str.SplitByLen(charNum, "{0}/{1}){2}");
foreach (string s in r)
{
Console.WriteLine("{0}", s);
}
Console.WriteLine();
}
Console.Read();
} /// <returns></returns>
/// <summary>
/// 按字符串长度切分成数组
/// </summary>
/// <param name="str">原字符串</param>
/// <param name="separatorCharNum">切分长度</param>
/// <param name="prefixFormat">前缀格式</param>
/// <returns>字符串数组</returns>
public static string[] SplitByLen(this string str, int separatorCharNum, string prefixFormat)
{
string[] arr = SplitByLen(str, separatorCharNum);
if (arr.Length == )
{
return arr;
}
List<string> list = new List<string>();
for(int i=;i<=arr.Length;i++)
{
list.Add(string.Format(prefixFormat,i.ToString(), arr.Length.ToString(), arr[i-]));
}
return list.ToArray();
} /// <summary>
/// 按字符串长度切分成数组
/// </summary>
/// <param name="str">原字符串</param>
/// <param name="separatorCharNum">切分长度</param>
/// <returns>字符串数组</returns>
public static string[] SplitByLen(this string str, int separatorCharNum)
{
if (string.IsNullOrEmpty(str) || str.Length <= separatorCharNum)
{
return new string[] { str };
}
string tempStr = str;
List<string> strList = new List<string>();
int iMax = Convert.ToInt32(Math.Ceiling(str.Length / (separatorCharNum * 1.0)));//获取循环次数
for (int i = ; i <= iMax; i++)
{
string currMsg = tempStr.Substring(, tempStr.Length > separatorCharNum ? separatorCharNum : tempStr.Length);
strList.Add(currMsg);
if (tempStr.Length > separatorCharNum)
{
tempStr = tempStr.Substring(separatorCharNum, tempStr.Length - separatorCharNum);
}
}
return strList.ToArray();
}
}
}

自己参考的一个简单历程:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace ChaiF
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
string[] arr=SplitByLen(textBox1.Text,);
textBox2.Text=arr[].ToString();
textBox3.Text=arr[].ToString(); }
public string[] SplitByLen(string str, int separatorCharNum)
{
if (string.IsNullOrEmpty(str) || str.Length <= separatorCharNum)
{
return new string[] { str };
}
string tempStr = str;
List<string> strList = new List<string>();
int iMax = Convert.ToInt32(Math.Ceiling(str.Length / (separatorCharNum * 1.0)));//获取循环次数
for (int i = ; i <= iMax; i++)
{
string currMsg = tempStr.Substring(, tempStr.Length > separatorCharNum ? separatorCharNum : tempStr.Length);
strList.Add(currMsg);
if (tempStr.Length > separatorCharNum)
{
tempStr = tempStr.Substring(separatorCharNum, tempStr.Length - separatorCharNum);
}
}
return strList.ToArray();
}
}
}

C# 如何使用长度来切分字符串的更多相关文章

  1. 为什么operator>>(istream&, string&)能够安全地读入长度未知的字符串?

    一般而言,实现"读入用户输入的字符串",程序中自然不能对用户输入的长度有所限定.这在C++中很容易实现,而在C中确没那么容易. 这一疑问,我在刚学C++的时候也在脑中闪现过:不过很 ...

  2. C#与JS实现 获取指定字节长度 中英文混合字符串 的方法

    平时在作数据库插入操作时,如果用 INSERT 语句向一个varchar型字段插入内容时,有时会因为插入的内容长度超出规定的长度而报错. 尤其是插入中英文混合字符串时,SQL Server中一般中文要 ...

  3. [译]C++如何切分字符串

    声明: 翻译仅以技术学习和交流为目的,如需转载请务必标明原帖链接. http://stackoverflow.com/questions/236129/how-to-split-a-string-in ...

  4. iOS 生成随机字符串 从指定字符串随机产生n个长度的新字符串

    随机字符串 - 生成指定长度的字符串 -(NSString *)randomStringWithLength:(NSInteger)len { NSString *letters = @"a ...

  5. (C#)生成指定长度的随机字符串的通用方法

    .NET(C#)生成指定长度的随机字符串的通用方法,此方法可以指定字符串的长度,是否包含数字,是否包含符号,是否包含小写字母,是否包含大写字母等, 源码: #region 生成指定长度的随机字符串 / ...

  6. shell切分字符串到数组

    shell切分字符串到数组 问题: 对于’aa,bb,cc,dd,ee’这样的字符串输出采用,分隔开的aa bb cc dd ee aa:bb is ok:/home/work按照":&qu ...

  7. ***实用函数:PHP explode()函数用法、切分字符串,作用,将字符串打散成数组

    下面是根据explode()函数写的切分分割字符串的php函数,主要php按开始和结束截取中间数据,很实用 代码如下: <? // ### 切分字符串 #### function jb51net ...

  8. 用多个分隔符切分字符串---re.split()

    问题/需求: 需要将字符串切分,但是分隔符在整个字符串中并不一致 (即:需要用多个分隔符切分字符串) str.split()方法不可行: 只支持单一分隔符,不支持正则及多个切割符号,不感知空格的数量 ...

  9. 0CTF-2016-piapiapia-PHP反序列化长度变化尾部字符串逃逸

    0X00 扫描一下网站目录,得到网站源码,这里说下工具使用的是dirmap,亲测御剑不好用... 0x01 审计源码: index.php <?php require_once('class.p ...

随机推荐

  1. linux 设备驱动概述

    linux 设备驱动概述 目前,Linux软件工程师大致可分为两个层次: (1)Linux应用软件工程师(Application Software Engineer):       主要利用C库函数和 ...

  2. H5中画图标签Canvas---画矩形,画线,画圆,渐变色,图形载入

    一: 1.鼠标监视坐标值 <!DOCTYPE html> <head> <meta charset=UTF-8> <title>canvas的演示< ...

  3. Linksys WRT610n V2 刷ddwrt后安装entware-ng,使用opkg

    安装步骤很简单,首先启用usb.jffs.等. 然后: mkdir -p /jffs/opt mount -o bind /jffs/opt /opt wget -O - http://pkg.ent ...

  4. MySQL: Set user variable from result of query

    set @user = 123456;set @group = (select GROUP from USER where User = @user);select * from USER where ...

  5. Hlacon 之Image ,Region,XLD

    一 读取的3种方式: read_image( image,'filename') //image 是输出对象,后面是输入文件的路径和名称 读取多图: 1,申明一个数组,分别保存路径 ImagePath ...

  6. [转]springboot2 webflux 响应式编程学习路径

    原文链接 spring官方文档 springboot2 已经发布,其中最亮眼的非webflux响应式编程莫属了!响应式的weblfux可以支持高吞吐量,意味着使用相同的资源可以处理更加多的请求,毫无疑 ...

  7. CustomDrawableTextView

    public class CustomDrawableTextView extends TextView{ //image width.height private int imageWidth; p ...

  8. 10.Oracle Golden Date(ogg)的搭建和管理

    一. GoldenGate 概述 GoldenGate现在是业内成熟的数据容灾与复制产品:GoldenGate是一种基于日志的结构化数据复制方式,它通过解析源数据库在线日志或归档日志获得数据的增删改变 ...

  9. Win系统的快捷键

    用了Macos觉得win系统不好用,其实不然,win也有很多方便的快捷键. win系统的快捷键: super/Alt+Tab键切换应用程序,而不是用鼠标点,切换多任务,super就是win win+D ...

  10. javascript--面试题

    (1)javaScript怎么清空数组? 如 var arrayList = ['a','b','c','d','e','f']; 怎么清空 arrayList 方法1:直接改变arrayList所指 ...