using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test2
{
class StringHelper
{
/// <summary>
/// 将一个字符串按照分隔符转换成 List
/// </summary>
/// <param name="str">字符串</param>
/// <param name="symbol">分隔符</param>
/// <returns></returns>
public List<string > StrSegmentationList(string str,char symbol)
{
List<string> list =str.Split(symbol).ToList<string>();
return list;
}
/// <summary>
/// 将一个字符串转按照分割符转换为数组
/// </summary>
/// <param name="str">字符串</param>
/// <param name="symbol">分隔符</param>
/// <returns></returns>
public string[] StrSegmentation(string str,char symbol)
{
string[] vs = str.Split(symbol);
return vs;
}
/// <summary>
/// 把 List 按照分隔符组装成 string
/// </summary>
/// <param name="list"></param>
/// <param name="symbol">分隔符</param>
/// <returns></returns>
public string ListSegmentationStr(List<string> list,string symbol)
{
string str = string.Join(symbol, list);
return str;
}
/// <summary>
/// 把 List 按照分隔符得到数组列表以逗号分隔的字符串
/// </summary>
/// <param name="list"></param>
/// <param name="symbol"></param>
/// <returns></returns>
public string ListSegmentation(List<string> list)
{
string str = string.Join(",", list);
return str;
}
/// <summary>
/// 将Dictionary<int, int> 转换成数组列表以逗号分隔的字符串
/// </summary>
/// <param name="pairs"></param>
/// <returns></returns>
public string DictionarySegmentationStr(Dictionary<int,int> pairs)
{
string str = string.Join(",", pairs);
return str;
}
/// <summary>
/// 删除字符串最后结尾的一个逗号
/// </summary>
public string DeleteString(string str)
{
return str.Remove(str.LastIndexOf(","), 1);
}
/// <summary>
/// 删除字符串最后结尾的指定字符后的字符
/// </summary>
/// <param name="str"></param>
/// <param name="symbol"></param>
/// <returns></returns>
public string DeleteString(string str, string symbol)
{
return str.Remove(str.LastIndexOf(symbol), str.Length);
}
/// <summary>
/// 将一个字符串转换成全角
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public string ToSBC(string str)
{
//半角转全角:
char[] c = str.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i] == 32)
{
c[i] = (char)12288;
continue;
}
if (c[i] < 127)
c[i] = (char)(c[i] + 65248);
}
return new string(c);
}
/// <summary>
/// 将一个字符串转换成半角
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public string ToDBC(string str)
{
char[] c = str.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i] == 12288)
{
c[i] = (char)32;
continue;
}
if (c[i] > 65280 && c[i] < 65375)
c[i] = (char)(c[i] - 65248);
}
return new string(c);
}
/// <summary>
/// 将一个字符串按照指定分隔符装成 List 去除重复
/// </summary>
/// <param name="str"></param>
/// <param name="symbol"></param>
/// <returns></returns>
public List<string > StringSegmentationList(string str,char symbol)
{
List<string> list = str.Split(symbol).ToList<string>();
for (int i = 0; i < list.Count; i++)
{
if (list.Contains(list[i]))
{
list.Remove(list[i]);
}
}
return list;
}
/// <summary>
/// 截取指定长度字符串
/// </summary>
/// <param name="str"></param>
/// <param name="length"></param>
/// <returns></returns>
public string SegmentationLength(string str,int length)
{
return str.Substring(0, length);
}
}
}