123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Ropin.Inspection.Common.Helper
- {
- public class StringHelper
- {
- /// <summary>
- /// 根据分隔符返回前n条数据
- /// </summary>
- /// <param name="content">数据内容</param>
- /// <param name="separator">分隔符</param>
- /// <param name="top">前n条</param>
- /// <param name="isDesc">是否倒序(默认false)</param>
- /// <returns></returns>
- public static List<string> GetTopDataBySeparator(string content, string separator, int top, bool isDesc = false)
- {
- if (string.IsNullOrEmpty(content))
- {
- return new List<string>() { };
- }
- if (string.IsNullOrEmpty(separator))
- {
- throw new ArgumentException("message", nameof(separator));
- }
- var dataArray = content.Split(separator).Where(d => !string.IsNullOrEmpty(d)).ToArray();
- if (isDesc)
- {
- Array.Reverse(dataArray);
- }
- if (top > 0)
- {
- dataArray = dataArray.Take(top).ToArray();
- }
- return dataArray.ToList();
- }
- /// <summary>
- /// 根据字段拼接get参数
- /// </summary>
- /// <param name="dic"></param>
- /// <returns></returns>
- public static string GetPars(Dictionary<string, object> dic)
- {
- StringBuilder sb = new StringBuilder();
- string urlPars = null;
- bool isEnter = false;
- foreach (var item in dic)
- {
- sb.Append($"{(isEnter ? "&" : "")}{item.Key}={item.Value}");
- isEnter = true;
- }
- urlPars = sb.ToString();
- return urlPars;
- }
- /// <summary>
- /// 根据字段拼接get参数
- /// </summary>
- /// <param name="dic"></param>
- /// <returns></returns>
- public static string GetPars(Dictionary<string, string> dic)
- {
- StringBuilder sb = new StringBuilder();
- string urlPars = null;
- bool isEnter = false;
- foreach (var item in dic)
- {
- sb.Append($"{(isEnter ? "&" : "")}{item.Key}={item.Value}");
- isEnter = true;
- }
- urlPars = sb.ToString();
- return urlPars;
- }
- /// <summary>
- /// 获取一个GUID
- /// </summary>
- /// <param name="format">格式-默认为N</param>
- /// <returns></returns>
- public static string GetGUID(string format = "N")
- {
- return Guid.NewGuid().ToString(format);
- }
- /// <summary>
- /// 根据GUID获取19位的唯一数字序列
- /// </summary>
- /// <returns></returns>
- public static long GetGuidToLongID()
- {
- byte[] buffer = Guid.NewGuid().ToByteArray();
- return BitConverter.ToInt64(buffer, 0);
- }
- /// <summary>
- /// 根据GUID获取16位的唯一字符串
- /// </summary>
- /// <param name=\"guid\"></param>
- /// <returns></returns>
- public static string GuidTo16String(Guid guid)
- {
- long i = 1;
- foreach (byte b in guid.ToByteArray())
- i *= ((int)b + 1);
- return string.Format("{0:x}", i - DateTime.Now.Ticks);
- }
- /// <summary>
- /// 根据GUID获取19位的唯一数字序列
- /// </summary>
- /// <returns></returns>
- public static long GuidToLongID(Guid guid)
- {
- byte[] buffer = guid.ToByteArray();
- return BitConverter.ToInt64(buffer, 0);
- }
- /// <summary>
- /// 获取字符串最后X行
- /// </summary>
- /// <param name="resourceStr"></param>
- /// <param name="length"></param>
- /// <returns></returns>
- public static string GetCusLine(string resourceStr, int length)
- {
- string[] arrStr = resourceStr.Split("\r\n");
- return string.Join("", (from q in arrStr select q).Skip(arrStr.Length - length + 1).Take(length).ToArray());
- }
- #region 删除最后结尾的一个逗号
- /// <summary>
- /// 删除最后结尾的一个逗号
- /// </summary>
- public static string DelLastComma(string str)
- {
- if (str.Length < 1)
- {
- return "";
- }
- return str.Substring(0, str.LastIndexOf(","));
- }
- #endregion 删除最后结尾的一个逗号
- #region 删除最后结尾的指定字符后的字符
- /// <summary>
- /// 删除最后结尾的指定字符后的字符
- /// </summary>
- public static string DelLastChar(string str, string strchar)
- {
- if (string.IsNullOrEmpty(str))
- return "";
- if (str.LastIndexOf(strchar) >= 0 && str.LastIndexOf(strchar) == str.Length - 1)
- {
- return str.Substring(0, str.LastIndexOf(strchar));
- }
- return str;
- }
- #endregion 删除最后结尾的指定字符后的字符
- #region 删除最后结尾的一个逗号及字符
- /// <summary>
- /// 删除最后结尾的一个逗号
- /// </summary>
- public static string DelLastCommaStr(string str)
- {
- if (str.Length < 1)
- {
- return "";
- }
- return str.Substring(0, str.LastIndexOf(","));
- }
- #endregion 删除最后结尾的一个逗号
- }
- }
|