📄 cstring.cs
字号:
/*
* CString.cs
*
* 作者:邱观琛
* 创建时间:2002-5-7
* 最后修改:2002-6-20
*
*
* 提供一些主要涉及到字符串操作的函数,包括固定模式的字符串分割与合并,
* 细微的字符串处理等。
*
*/
using System;
using System.Data;
using System.Collections;
namespace CFC
{
/// <summary>
/// 提供一些主要涉及到字符串操作的函数
/// </summary>
public class CString
{
private CString()
{
}
#region public const char Separator1 = '~' : 字符串的一级分割符
/// <summary>
/// 字符串的一级分割符:~
/// </summary>
public const char Separator1 = '~';
#endregion
#region public const char Separator2 = '`' : 字符串的二级分割符
/// <summary>
/// 字符串的二级分割符:`
/// </summary>
public const char Separator2 = '`';
#endregion
#region public const char Separator3 = '^' : 字符串的三级分割符
/// <summary>
/// 字符串的三级分割符:^
/// </summary>
public const char Separator3 = '^';
#endregion
#region public static string SetStrLength(string str, int Length, char FillChar) : 给字符串类型的数据设置成指定长度
/// <summary>
/// 给字符串类型的数据设置成指定长度。
/// 如果过短,以指定固定字符填充。
/// 如果过长,取其右部相应长度的一截。
/// </summary>
/// <param name="str">需要设置长度的字符串</param>
/// <param name="Length">新的长度</param>
/// <param name="FillChar">如果过短,用以填充的字符</param>
/// <returns>新的固定长度的字符串</returns>
public static string SetStrLength(string str, int Length, char FillChar)
{
string Result = str;
if (str.Length < Length)
{
for (int i=0; i<Length-str.Length; i++)
{
Result = FillChar + Result;
}
}
else if (str.Length > Length)
{
Result = Result.Substring(str.Length-Length);
}
return Result;
}
#endregion
#region 各种一级合并
#region public static string Combine1(object[] Values) : 将指定对象数组合并成一个字符串
/// <summary>
/// 将指定对象数组合并成一个字符串,并以一级分割符作为元素间的界线。
/// </summary>
/// <param name="Values">需要合并的对象数组</param>
/// <returns>合并成的字符串</returns>
public static string Combine1(object[] Values)
{
string Result = "";
for (int i=0; i<Values.Length; i++)
{
if (i!=0) Result += Separator1;
Result += Values[i].ToString();
}
return Result;
}
#endregion
#region public static string Combine1(ArrayList Values) : 将指定ArrayList合并成一个字符串
/// <summary>
/// 将指定ArrayList合并成一个字符串,并以一级分割符作为元素间的界线。
/// </summary>
/// <param name="Values">需要合并的ArrayList</param>
/// <returns>合并成的字符串</returns>
public static string Combine1(ArrayList Values)
{
string Result = "";
for (int i=0; i<Values.Count; i++)
{
if (i!=0) Result += Separator1;
Result += Values[i].ToString();
}
return Result;
}
#endregion
#region public static string Combine1(DataView dv, string FieldName) : 将指定DataView中所有记录在指定字段上的值合并成一个字符串
/// <summary>
/// 将指定DataView中所有记录在指定字段上的值合并成一个字符串。
/// </summary>
/// <param name="dv">需要合并数据的DataView</param>
/// <param name="FieldName">需要合并数据的字段名称</param>
/// <returns>合并成的字符串</returns>
public static string Combine1(DataView dv, string FieldName)
{
string Result = "";
for (int i=0; i<dv.Count; i++)
{
if (i!=0) Result += Separator1;
Result += dv[i][FieldName].ToString();
}
return Result;
}
#endregion
#region public static string Combine1(object[] Values, char Separator) :将指定对象数组合并成一个字符串
/// <summary>
/// 将指定对象数组合并成一个字符串,并以指定分割符作为元素间的界线。
/// </summary>
/// <param name="Values">需要合并的对象数组</param>
/// <param name="Separator">分割符</param>
/// <returns>合并成的字符串</returns>
public static string Combine1(object[] Values, char Separator)
{
string Result = "";
for (int i=0; i<Values.Length; i++)
{
if (i!=0) Result += Separator;
Result += Values[i].ToString();
}
return Result;
}
#endregion
#region public static string Combine1(ArrayList Values, char Separator) : 将指定ArrayList合并成一个字符串
/// <summary>
/// 将指定ArrayList合并成一个字符串,并以指定分割符作为元素间的界线。
/// </summary>
/// <param name="Values">需要合并的ArrayList</param>
/// <param name="Separator">分割符</param>
/// <returns>合并成的字符串</returns>
public static string Combine1(ArrayList Values, char Separator)
{
string Result = "";
for (int i=0; i<Values.Count; i++)
{
if (i!=0) Result += Separator;
Result += Values[i].ToString();
}
return Result;
}
#endregion
#region public static string Combine1(DataView dv, string FieldName, char Separator) : 将指定DataView中所有记录在指定字段上的值合并成一个字符串
/// <summary>
/// 将指定DataView中所有记录在指定字段上的值合并成一个字符串,并以指定分割符作为元素间的界线。
/// </summary>
/// <param name="dv">需要合并数据的DataView</param>
/// <param name="FieldName">需要合并数据的字段名称</param>
/// <param name="Separator">分割符</param>
/// <returns>合并成的字符串</returns>
public static string Combine1(DataView dv, string FieldName, char Separator)
{
string Result = "";
for (int i=0; i<dv.Count; i++)
{
if (i!=0) Result += Separator1;
Result += dv[i][FieldName].ToString();
}
return Result;
}
#endregion
#region public static string Combine1(object[] Values, string Separator) : 将指定对象数组合并成一个字符串
/// <summary>
/// 将指定对象数组合并成一个字符串,并以指定字符串作为元素间的界线。
/// </summary>
/// <param name="Values">需要合并的对象数组</param>
/// <param name="Separator">用以分割的字符串</param>
/// <returns>合并成的字符串</returns>
public static string Combine1(object[] Values, string Separator)
{
string Result = "";
for (int i=0; i<Values.Length; i++)
{
if (i!=0) Result += Separator;
Result += Values[i].ToString();
}
return Result;
}
#endregion
#region public static string Combine1(ArrayList Values, string Separator) : 将指定ArrayList合并成一个字符串
/// <summary>
/// 将指定ArrayList合并成一个字符串,并以指定字符串作为元素间的界线。
/// </summary>
/// <param name="Values">需要合并的ArrayList</param>
/// <param name="Separator">用以分割的字符串</param>
/// <returns>合并成的字符串</returns>
public static string Combine1(ArrayList Values, string Separator)
{
string Result = "";
for (int i=0; i<Values.Count; i++)
{
if (i!=0) Result += Separator;
Result += Values[i].ToString();
}
return Result;
}
#endregion
#region public static string Combine1(DataView dv, string FieldName, string Separator) : 将指定DataView中所有记录在指定字段上的值合并成一个字符串
/// <summary>
/// 将指定DataView中所有记录在指定字段上的值合并成一个字符串,并以指定字符串作为元素间的界线。
/// </summary>
/// <param name="dv">需要合并数据的DataView</param>
/// <param name="FieldName">需要合并数据的字段名称</param>
/// <param name="Separator">用以分割的字符串</param>
/// <returns>合并成的字符串</returns>
public static string Combine1(DataView dv, string FieldName, string Separator)
{
string Result = "";
for (int i=0; i<dv.Count; i++)
{
if (i!=0) Result += Separator1;
Result += dv[i][FieldName].ToString();
}
return Result;
}
#endregion
#endregion
#region 各种一级分割
#region public static string[] Divide1(string str) : 将指定字符串按一级分割符分割成字符串数组
/// <summary>
/// 将指定字符串按一级分割符分割成字符串数组。
/// </summary>
/// <param name="str">需要分割的字符串</param>
/// <returns>分割成的字符串数组</returns>
public static string[] Divide1(string str)
{
return str.Split(Separator1);
}
#endregion
#endregion
#region 各种二级合并
#region public static string Combine2(object[,] Values) : 将指定的对象二维数组合并成一个字符串
/// <summary>
/// 将指定的对象二维数组合并成一个字符串,并以一级分割符作为一级元素间的界线,
/// 二级分割符作为二级元素间的界线。
/// </summary>
/// <param name="Values">需要合并的对象二维数组</param>
/// <returns>合并成的字符串</returns>
public static string Combine2(object[,] Values)
{
string Result = "";
for (int i=0; i<Values.GetLength(0); i++)
{
if (i!=0) Result += Separator1;
for (int j=0; j<Values.GetLength(1); j++)
{
if (j!=0) Result += Separator2;
Result += Values[i,j].ToString();
}
}
return Result;
}
#endregion
#region public static string Combine2(object[][] Values) : 将指定的对象二维锯齿数组合并成一个字符串
/// <summary>
/// 将指定的对象二维锯齿数组合并成一个字符串,并以一级分割符作为一级元素间的界线,
/// 二级分割符作为二级元素间的界线。
/// </summary>
/// <param name="Values">需要合并的对象二维锯齿数组</param>
/// <returns>合并成的字符串</returns>
public static string Combine2(object[][] Values)
{
string Result = "";
for (int i=0; i<Values.Length; i++)
{
if (i!=0) Result += Separator1;
for (int j=0; j<Values[i].Length; j++)
{
if (j!=0) Result += Separator2;
Result += Values[i][j].ToString();
}
}
return Result;
}
#endregion
#endregion
#region 各种二级分割
#region public static string[,] Divide2(string str, int Length2) : 将指定字符串先按一级分割符,再按二级分割符分割成二维数组
/// <summary>
/// 将指定字符串先按一级分割符,再按二级分割符分割成二维数组。
/// </summary>
/// <param name="str">需要分割的字符串</param>
/// <param name="Length2">二维数组第二级的长度。如果为0,系统将自动计算。</param>
/// <returns>分割成的字符串二维数组</returns>
public static string[,] Divide2(string str, int Length2)
{
string[] SemiResult = str.Split(Separator1);
int Length1 = SemiResult.Length;
if (Length1 == 0)
return new string[0,0];
if (Length2 == 0)
Length2 = SemiResult[0].Split(Separator2).Length;
if (Length2 == 0)
return new string[Length1,0];
string[,] Result = new string[Length1,Length2];
for (int i=0; i<Length1; i++)
{
string[] Temp = SemiResult[i].Split(Separator2);
for (int j=0; j<Length2; j++)
{
Result[i,j] = Temp[j];
}
}
return Result;
}
#endregion
#region public static string[][] Divide2(string str) : 将指定字符串先按一级分割符,再按二级分割符分割成二维锯齿数组
/// <summary>
/// 将指定字符串先按一级分割符,再按二级分割符分割成二维锯齿数组。
/// </summary>
/// <param name="str">需要分割的字符串</param>
/// <returns>分割成的字符串二维锯齿数组</returns>
public static string[][] Divide2(string str)
{
string[] SemiResult = str.Split(Separator1);
int Length1 = SemiResult.Length;
if (Length1 == 0)
return new string[0][];
string[][] Result = new string[Length1][];
for (int i=0; i<Length1; i++)
{
Result[i] = SemiResult[i].Split(Separator2);
}
return Result;
}
#endregion
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -