总结的5个C#字符串操作方法分享

作者:junjie 时间:2022-08-10 04:02:01 

字符串操作是C#中最基本的、最常见的、也是用的最多的,以下我总结了几种常见的方法:

1.把字符串按照分隔符转换成 List 


/// <summary>
   /// 把字符串按照分隔符转换成 List
   /// </summary>
   /// <param name="str">源字符串</param>
   /// <param name="speater">分隔符</param>
   /// <param name="toLower">是否转换为小写</param>
   /// <returns></returns>
   public static List<string> GetStrArray(string str, char speater, bool toLower)
   {
     var list = new List<string>();
     var ss = str.Split(speater);
     foreach (var s in ss)
     {
       if (string.IsNullOrWhiteSpace(s) || s == speater.ToString(CultureInfo.InvariantCulture)) continue;
       var strVal = s;
       if (toLower)
       {
         strVal = s.ToLower();
       }
       list.Add(strVal);
     }
     return list;
   }

2.把字符串转 按照, 分割 换为数据 


/// <summary>
   /// 把字符串转 按照, 分割 换为数据
   /// </summary>
   /// <param name="str"></param>
   /// <returns></returns>
   public static string[] GetStrArray(string str)
   {
     return str.Split(new[] { ',', ',' });
   }

3.得到数组列表以逗号分隔的字符串


/// <summary>
   /// 得到数组列表以逗号分隔的字符串
   /// </summary>
   /// <param name="list"></param>
   /// <param name="speater"></param>
   /// <returns></returns>
   public static string GetArrayStr(List<string> list, string speater)
   {
     var sb = new StringBuilder();
     for (var i = 0; i < list.Count; i++)
     {
       if (i == list.Count - 1)
       {
         sb.Append(list[i]);
       }
       else
       {
         sb.Append(list[i]);
         sb.Append(speater);
       }
     }
     return sb.ToString();
   }

4.得到字符串长度


/// <summary>
   /// 得到字符串长度
   /// </summary>
   /// <param name="inputStr"></param>
   /// <returns></returns>
   public static int StrLength(string inputStr)
   {
     var asc = new ASCIIEncoding();
     var s = asc.GetBytes(inputStr);
     return s.Sum(t => t == 63 ? 2 : 1);
   }

5.截取指定长度字符串


/// <summary>
   /// 截取指定长度字符串
   /// </summary>
   /// <param name="inputString"></param>
   /// <param name="len"></param>
   /// <returns></returns>
   public static string CutStr(string inputString, int len)
   {
     var isShowFix = false;
     if (len % 2 == 1)
     {
       isShowFix = true;
       len--;
     }
     var ascii = new ASCIIEncoding();
     var tempLen = 0;
     var tempString = "";
     var s = ascii.GetBytes(inputString);
     for (var i = 0; i < s.Length; i++)
     {
       tempLen += s[i] == 63 ? 2 : 1;
       try
       {
         tempString += inputString.Substring(i, 1);
       }
       catch
       {
         break;
       }

if (tempLen > len)
         break;
     }

var mybyte = Encoding.Default.GetBytes(inputString);
     if (isShowFix && mybyte.Length > len)
       tempString += "…";
     return tempString;
   }


暂时就这五种方法了。

标签:C#,字符串,操作
0
投稿

猜你喜欢

  • Spring中BeanFactory FactoryBean和ObjectFactory的三种的区别

    2022-02-21 22:43:58
  • Android ViewPager实现图片轮播效果

    2023-03-20 17:00:58
  • 为何Java8需要引入新的日期与时间库

    2023-12-16 06:02:23
  • spring boot项目快速构建的全步骤

    2023-11-16 21:16:38
  • 详解Android的内存优化--LruCache

    2022-07-18 14:28:41
  • Android消息机制Handler用法总结

    2022-08-10 23:58:56
  • Springmvc加ajax实现上传文件并页面局部刷新

    2023-07-31 09:26:47
  • Android键盘显示与隐藏代码

    2021-06-29 22:15:58
  • 深入理解Java8新特性之接口中的默认方法和静态方法

    2023-11-24 01:44:25
  • Java利用自定义注解、反射实现简单BaseDao实例

    2022-09-06 05:29:30
  • C语言根据协议分割获取字符串单元的实现代码

    2023-06-21 08:20:27
  • java中Executor,ExecutorService,ThreadPoolExecutor详解

    2023-10-31 10:50:56
  • 有关于整体刷新和局部刷新frameset窗口

    2023-04-21 22:43:40
  • Java基于分治法实现的快速排序算法示例

    2023-12-15 07:39:06
  • JUC系列学习工具类CountDownLatch详解

    2023-10-01 12:19:23
  • java中Statement 与 PreparedStatement接口之间的关系和区别

    2023-11-25 03:11:11
  • Android 将网络的Url资源转换为Drawable资源方式

    2023-06-23 03:06:19
  • C#中方法的详细介绍

    2023-08-06 12:31:21
  • Spring中bean集合注入的方法详解

    2022-08-26 07:37:41
  • C#串口通信工具类的封装

    2023-11-23 11:19:54
  • asp之家 软件编程 m.aspxhome.com