<经验杂谈>C#/.Net字符串操作方法小结

字符串操作是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;
        }

暂时就这五种方法了。

时间: 2024-10-10 09:19:43

<经验杂谈>C#/.Net字符串操作方法小结的相关文章

&lt;经验杂谈&gt;Mysql中字符串处理的几种处理方法concat、concat_ws、group_concat

Mysql中字符串处理的几种处理方法concat.concat_ws.group_concat以下详情: MySQL中concat函数使用方法:CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串. 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串.一个数字参数被转化为与之相等的二进制字符串格式:若要避免这种情况,可使用显式类型 cast, 例如:SEL

shell 字符串操作小结

shell 字符串操作小结 #!/bin/bash ############################################   演示bash中操作字符串的操作##   后面是输出结果########################################### str="abc123abcABC"#    |-|#    |-------| #计算字符串的长度 echo ${#str}    #12 #位置参数有关操作echo ${#*}      #位置参数

[转] shell字符串操作方法,以及实例

每一种语言都有他独自的字符串操作方法,shell也一样,下面以以例子的方式,简单介绍常用方法. 1,取得字符串长度 string=abc12342341 //等号二边不要有空格 echo ${#string} //结果11 expr length $string //结果11 expr "$string" : ".*" //结果11 分号二边要有空格,这里的:根match的用法差不多 2,字符串所在位置 expr index $string '123' //结果4

js字符串操作方法

1.字符方法: str.charAt(): 可以访问字符串中特定的字符,可以接受0至字符串长度-1的数字作为参数,返回该位置下的字符,如果参数超出该范围,返回空字符串,如果没有参数,返回位置为0的字符; str.charCodeAt(): 和charAt()用法一样,不同的是charCodeAt()返回的是字符编码而不是字符. var anyString="hello tino"; anyString.charAt() //"h" anyString.charAt(

格式化字符串利用小结

格式化字符串利用小结 格式化字符串漏洞基本原理: Printf()函数的一般形式为printf("format",输出表列),其第一个参数就是格式化字符串,用来告诉程序以什么格式进行输出.正常情况下,这样使用: char str[100]; scanf("%s",str); printf("%s",str); 但也有人这么用: char str[100] scanf("%s",str); printf(str) 也许代码编写者

混淆篇之字符串常见操作方法小结

1.0String 对象属性 属性 描述 constructor 对创建该对象的函数的引用 length 字符串的长度 prototype 允许您向对象添加属性和方法 2.0String 对象方法 方法 描述 anchor() 创建 HTML 锚. big() 用大号字体显示字符串. blink() 显示闪动字符串. bold() 使用粗体显示字符串. charAt() 返回在指定位置的字符. str.charAt(index)方法:获取指定索引 位置的字符,索 引从0开始,,//str[0]-

js数组常用操作方法小结(增加,删除,合并,分割等)

本文实例总结了js数组常用操作方法.分享给大家供大家参考,具体如下: var arr = [1, 2, 3, 4, 5]; //删除并返回数组中第一个元素 var theFirst = arr.shift(); alert(theFirst);//返回1 number alert(arr);//2,3,4,5 object //删除并返回数组中最后一个元素 var theLast = arr.pop(); alert(theLast);//返回5 number alert(arr);//2,3,

Python 字符串操作方法大全

python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下. 1.去空格及特殊符号 s.strip().lstrip().rstrip(',') 2.复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 3.连接字符串 #strcat(sStr1,sStr2) sStr1 =

OC Foundation框架—字符串操作方法及习题

1 #import <Foundation/Foundation.h> 2 3 int main(int argc, const char * argv[]) { 4 @autoreleasepool { 8 /* 9 不可变字符串 10 1.创建字符串 11 实例方法(3种) 12 类方法(3种) 13 2.不可变字符串: 14 统计长度(2种) 15 索引提取 (3种) 16 比较 (3种) 17 查照字符串位置(1种) 18 判断前后缀 19 转换数字 20 大小写转换 21 字符串提取