C# 如何使用长度来切分字符串
参考网址: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# 如何使用长度来切分字符串的更多相关文章
- 为什么operator>>(istream&, string&)能够安全地读入长度未知的字符串?
一般而言,实现"读入用户输入的字符串",程序中自然不能对用户输入的长度有所限定.这在C++中很容易实现,而在C中确没那么容易. 这一疑问,我在刚学C++的时候也在脑中闪现过:不过很 ...
- C#与JS实现 获取指定字节长度 中英文混合字符串 的方法
平时在作数据库插入操作时,如果用 INSERT 语句向一个varchar型字段插入内容时,有时会因为插入的内容长度超出规定的长度而报错. 尤其是插入中英文混合字符串时,SQL Server中一般中文要 ...
- [译]C++如何切分字符串
声明: 翻译仅以技术学习和交流为目的,如需转载请务必标明原帖链接. http://stackoverflow.com/questions/236129/how-to-split-a-string-in ...
- iOS 生成随机字符串 从指定字符串随机产生n个长度的新字符串
随机字符串 - 生成指定长度的字符串 -(NSString *)randomStringWithLength:(NSInteger)len { NSString *letters = @"a ...
- (C#)生成指定长度的随机字符串的通用方法
.NET(C#)生成指定长度的随机字符串的通用方法,此方法可以指定字符串的长度,是否包含数字,是否包含符号,是否包含小写字母,是否包含大写字母等, 源码: #region 生成指定长度的随机字符串 / ...
- shell切分字符串到数组
shell切分字符串到数组 问题: 对于’aa,bb,cc,dd,ee’这样的字符串输出采用,分隔开的aa bb cc dd ee aa:bb is ok:/home/work按照":&qu ...
- ***实用函数:PHP explode()函数用法、切分字符串,作用,将字符串打散成数组
下面是根据explode()函数写的切分分割字符串的php函数,主要php按开始和结束截取中间数据,很实用 代码如下: <? // ### 切分字符串 #### function jb51net ...
- 用多个分隔符切分字符串---re.split()
问题/需求: 需要将字符串切分,但是分隔符在整个字符串中并不一致 (即:需要用多个分隔符切分字符串) str.split()方法不可行: 只支持单一分隔符,不支持正则及多个切割符号,不感知空格的数量 ...
- 0CTF-2016-piapiapia-PHP反序列化长度变化尾部字符串逃逸
0X00 扫描一下网站目录,得到网站源码,这里说下工具使用的是dirmap,亲测御剑不好用... 0x01 审计源码: index.php <?php require_once('class.p ...
随机推荐
- 【Zend Studio】在Zend Studio中调试ThinkPhp框架
在这篇文章中,笔者将会展示如何在Zend Studio下进行断点调试Think PHP.环境:windows 7.wampServer 3.1.4 64bit.zend studio 13.6.1Th ...
- 【Apache】Apache的安装和配置
Apache是世界非常流行的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. Apache在Win7上的安装 下载apa ...
- 【Android开发坑系列】之事件分发机制
总结一下: 事件序列的定义:从手触摸屏幕(含)到离开屏幕(含)期间所发生的一系列交互事件.主要由ACTION_DOWN.ACTION_MOVE.ACTOIN_UP.ACTION_CANCEL等组成,其 ...
- [转]Ubuntu18.04搜狗拼音输入法候选栏乱码解决方法
经常碰到安装完搜狗拼音输入法后候选栏是乱码的情况,解决方法如下: 输入如下命令: cd ~/.config sudo rm -rf SogouPY* sogou* 1 2 之后重启即可. 安装过程可参 ...
- Win10 calc.exe 无法打开计算器的解决方法
先将所有程序关闭,以管理员身份运行 Windows PowerShell,之后输入以下命令 Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage - ...
- Fluent动网格【9】:区域运动
本文所述的区域运动并非动网格中的运动域,而是指在多参考系(MRF)或滑移网格中所涉及到的区域的运动. 在滑移网格中指定区域运动时,除了能够指定绝对运动外,还能指定某一区域与其他区域间的相对运动,如图所 ...
- PhpStorm连接Docker容器配置xdebug断点调试
本教程主要演示xdebug在PhpStorm中配置方法. 一.环境说明 1.Mac笔记本(本教程演示过程使用的是Mac OS操作系统,和windows环境是有区别的,这一点需要特别注意): 2.在Ma ...
- 在BootStrap的modal中使用Select2
bootstrap 3 $.fn.modal.Constructor.prototype.enforceFocus = function() {}; bootstrap4 $.fn.modal.C ...
- 大数据:Parquet文件存储格式
一.Parquet的组成 Parquet仅仅是一种存储格式,它是语言.平台无关的,并且不需要和任何一种数据处理框架绑定,目前能够和Parquet适配的组件包括下面这些,可以看出基本上通常使用的查询引擎 ...
- PHP读取HTML生成doc
PHP代码如下: <?php //获取1.html文档的内容(包括html代码) $result = file_get_contents('./word.html'); echo "$ ...