总结的5个C#字符串操作方法分享
作者:junjie 发布时间:2022-08-10 04:02:01
标签:C#,字符串,操作
字符串操作是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;
}
暂时就这五种方法了。


猜你喜欢
- 部分情况下无法通过maven仓库直接下载需要的jar包,只能讲jar包下载至本地来使用,spring boot框架内通过maven加载第三方
- IoC的概念介绍控制反转(IOC)模式(又称DI:Dependency Injection)就是Inversion of Control,控
- SharedPreferences用于在开发软件的时候提供软件参数设置,其背后使用的是xml文件存放数据,文件保存在/data/data/&
- 1.准备工作1、新建一个SpringBoot项目加上web依赖, 所有依赖<dependency><groupId>
- 思路今天带大家实现一个上拉加载更多的ListView.GitHub传送门:PulmListView, 欢迎大家fork&&s
- spring boot框架中已经集成了redis,在1.x.x的版本时默认使用的jedis客户端,现在是2.x.x版本默认使用的lettuc
- 一直做Android前端,今天突然心血来潮想搭建一个后台玩玩。平时都是需要什么样的接口直接出个接口文档扔给后台的兄弟,自己从来不操心他们内部
- 本文实例为大家分享了java实现人机猜拳游戏的具体代码,供大家参考,具体内容如下完成人机猜拳互动游戏的开发,用户通过控制台输入实现出拳,电脑
- 本文实例讲述了C#在RichTextBox中显示不同颜色文字的方法。分享给大家供大家参考。具体实现方法如下:#region 日志记录、支持其
- Excel知识点一、添加引用和命名空间添加Microsoft.Office.Interop.Excel引用,它的默认路径是C:\Progra
- public static boolean isMobileNumber(String mobiles) {return Pattern.c
- •readonly和const都是用来标识常量的[1]。•const可用于修饰class的field或者一个局部变量(local varia
- 本文实例总结了Android开发之Button事件实现与监听方法。分享给大家供大家参考,具体如下:先来介绍Button事件实现的两种方法ma
- 概念异常处理的概念起源于早期的编程语言,如 LISP、PL/I 和 CLU。这些编程语言首次引入了异常处理机制,以便在程序执行过程中检测和处
- java.util.Scanner类是一个简单的文本扫描类,它可以解析基本数据类型和字符串。它本质上是使用正则表达式去读取不同的数据类型。J
- * 验证码地址:https://007.qq.com/online.html* 使用OpenCv模板匹配* 成功率90%左右* Java +
- android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解。 一个最简单的屏幕触
- 最近过年发红包拜年成为一种新的潮流,作为程序猿对算法的好奇远远要大于对红包的好奇,这里介绍一种自己想到的一种随机红包分配策略,还请大家多多指
- 总之是用jdbc 的游标移动package com.sp.person.sql.util; import java.sql.Connecti
- 动态数组ArrayList类在System.Collecions的命名空间下,所以使用时要加入System.Collecions命名空间,而