using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace Common
{
public class StringHelper
{
/// <summary>
///字符串分割
/// </summary>
/// <param name="value">字符串</param>
/// <param name="key">分割关键字</param>
/// <returns>string集合</returns>
public static List<string> GetSplitStrList(string key, string value)
{
if (!string.IsNullOrEmpty(value))
{
return value.Trim().Split(new string[] { key }, StringSplitOptions.RemoveEmptyEntries).ToList();
}
return null;
}
/// <summary>
/// 字符串分割(默认:按照换行符分割)
/// </summary>
/// <param name="value">字符串</param>
/// <returns>List<string>集合</returns>
public static List<string> GetSplitStrList(string value)
{
return GetSplitStrList("\r\n", value);
}
/// <summary>
/// 合并字符串
/// </summary>
/// <param name="strList">string集合</param>
/// <param name="split">分割关键字</param>
/// <returns></returns>
public static string GetMergeStr(List<string> strList, string split)
{
string value = "";
foreach (var q in strList)
{
if (!string.IsNullOrEmpty(split))
{
value += q + split;
}
else
{
value += q;
}
}
return value;
}
/// <summary>
/// 屏蔽字符串*
/// </summary>
/// <param name="value">字符串</param>
/// <param name="beginIndex">开始坐标</param>
/// <param name="indexNumber">坐标个数</param>
/// <returns></returns>
public static string ShieldStr(string value, int beginIndex, int indexNumber)
{
try
{
var str = "";
var qchar = value.ToArray();
for (int i = beginIndex; i <= value.Length - 1; i++)
{
if (indexNumber > 0)
{
indexNumber--;
qchar[i] = '*';
}
}
str = new string(qchar);
return str;
}
catch (Exception ex)
{
return ex.ToString();
}
}
/// <summary>
/// 去掉字符串中的数字
/// </summary>
/// <param name="str">字符串</param>
/// <returns></returns>
public static string RemoveNumber(string str)
{
return System.Text.RegularExpressions.Regex.Replace(str, @"\d", "");
}
/// <summary>
/// 获取字符串中的数字
/// </summary>
/// <param name="str">字符串</param>
/// <returns></returns>
public static string ReturnNumber(string str)
{
string returnstr = "";
RegexOptions myRegOption = RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture | RegexOptions.Singleline;
string patt = @"-?[\d]+";
MatchCollection matchs = Regex.Matches(str, patt, myRegOption);
foreach (Match match in matchs)
{
if (match.Success)
{
returnstr = match.Value;
}
}
return returnstr;
}
/// <summary>
/// 数字格式替换
/// </summary>
/// <param name="value">字符串</param>
/// <returns></returns>
public static string FormatNumber(string value)
{
value = value.Replace("0", "0");
value = value.Replace("1", "1");
value = value.Replace("2", "2");
value = value.Replace("3", "3");
value = value.Replace("4", "4");
value = value.Replace("5", "5");
value = value.Replace("6", "6");
value = value.Replace("7", "7");
value = value.Replace("8", "8");
value = value.Replace("9", "9");
return value;
}
/// <summary>
/// 将字符串转换为小写
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string ToLower(string str)
{
if (!string.IsNullOrEmpty(str))
{
return str.ToLower();
}
return str;
}
}
}