C#操作字符串方法总结<转>

staticvoid Main(string[] args)
{
            string s ="";
            //(1)字符访问(下标访问s[i])
            s ="ABCD";
            Console.WriteLine(s[0]); // 输出"A";
            Console.WriteLine(s.Length); // 输出4
            Console.WriteLine();

//(2)打散为字符数组(ToCharArray)
            s ="ABCD";
            char[] arr = s.ToCharArray(); // 把字符串打散成字符数组{‘A‘,‘B‘,‘C‘,‘D‘}
            Console.WriteLine(arr[0]); // 输出数组的第一个元素,输出"A"
            Console.WriteLine();

//(3)截取子串(Substring)
            s ="ABCD";
Console.WriteLine(s.Substring(1)); // 从第2位开始(索引从0开始)截取一直到字符串结束,输出"BCD"
            Console.WriteLine(s.Substring(1, 2)); // 从第2位开始截取2位,输出"BC"
            Console.WriteLine();

//(4)匹配索引(IndexOf())
            s ="ABCABCD";
            Console.WriteLine(s.IndexOf(‘A‘)); // 从字符串头部开始搜索第一个匹配字符A的位置索引,输出"0"
            Console.WriteLine(s.IndexOf("BCD")); // 从字符串头部开始搜索第一个匹配字符串BCD的位置,输出"4"
            Console.WriteLine(s.LastIndexOf(‘C‘)); // 从字符串尾部开始搜索第一个匹配字符C的位置,输出"5"
            Console.WriteLine(s.LastIndexOf("AB")); // 从字符串尾部开始搜索第一个匹配字符串BCD的位置,输出"3"
            Console.WriteLine(s.IndexOf(‘E‘)); // 从字符串头部开始搜索第一个匹配字符串E的位置,没有匹配输出"-1";
            Console.WriteLine(s.Contains("ABCD")); // 判断字符串中是否存在另一个字符串"ABCD",输出true
            Console.WriteLine();

//(5)大小写转换(ToUpper和ToLower)
            s ="aBcD";
            Console.WriteLine(s.ToLower()); // 转化为小写,输出"abcd"
            Console.WriteLine(s.ToUpper()); // 转化为大写,输出"ABCD"
            Console.WriteLine();

//(6)填充对齐(PadLeft和PadRight)
            s ="ABCD";
            Console.WriteLine(s.PadLeft(6, ‘_‘)); // 使用‘_‘填充字符串左部,使它扩充到6位总长度,输出"__ABCD"
            Console.WriteLine(s.PadRight(6, ‘_‘)); // 使用‘_‘填充字符串右部,使它扩充到6位总长度,输出"ABCD__"
            Console.WriteLine();

//(7)截头去尾(Trim)
            s ="__AB__CD__";
            Console.WriteLine(s.Trim(‘_‘)); // 移除字符串中头部和尾部的‘_‘字符,输出"AB__CD"
            Console.WriteLine(s.TrimStart(‘_‘)); // 移除字符串中头部的‘_‘字符,输出"AB__CD__"
            Console.WriteLine(s.TrimEnd(‘_‘)); // 移除字符串中尾部的‘_‘字符,输出"__AB__CD"
            Console.WriteLine();

//(8)插入和删除(Insert和Remove)
            s ="ADEF";
            Console.WriteLine(s.Insert(1, "BC")); // 在字符串的第2位处插入字符串"BC",输出"ABCDEF"
            Console.WriteLine(s);
            Console.WriteLine(s.Remove(1)); // 从字符串的第2位开始到最后的字符都删除,输出"A"
            Console.WriteLine(s);
            Console.WriteLine(s.Remove(0, 2)); // 从字符串的第1位开始删除2个字符,输出"EF"
            Console.WriteLine();

//(9)替换字符(串)(Replace)
            s ="A_B_C_D";
            Console.WriteLine(s.Replace(‘_‘, ‘-‘)); // 把字符串中的‘_‘字符替换为‘-‘,输出"A-B-C-D"
            Console.WriteLine(s.Replace("_", "")); // 把字符串中的"_"替换为空字符串,输出"A B C D"
            Console.WriteLine();

//(10)分割为字符串数组(Split)——互逆操作:联合一个字符串静态方法Join(seperator,arr[])
            s ="AA,BB,CC,DD";
            string[] arr1 = s.Split(‘,‘); // 以‘,‘字符对字符串进行分割,返回字符串数组
            Console.WriteLine(arr1[0]); // 输出"AA"
            Console.WriteLine(arr1[1]); // 输出"BB"
            Console.WriteLine(arr1[2]); // 输出"CC"
            Console.WriteLine(arr1[3]); // 输出"DD"
            Console.WriteLine();

s ="AA--BB--CC--DD";
            string[] arr2 = s.Replace("--", "-").Split(‘-‘); // 以字符串进行分割的技巧:先把字符串"--"替换为单个字符"-",然后以‘-‘字符对字符串进行分割,返回字符串数组
            Console.WriteLine(arr2[0]); // 输出"AA"
            Console.WriteLine(arr2[1]); // 输出"BB"
            Console.WriteLine(arr2[2]); // 输出"CC"
            Console.WriteLine(arr2[3]); // 输出"DD"
            Console.WriteLine();

//(11)格式化(静态方法Format)
            Console.WriteLine(string.Format("{0} + {1} = {2}", 1, 2, 1+2));
            Console.WriteLine(string.Format("{0} / {1} = {2:0.000}", 1, 3, 1.00/3.00));
            Console.WriteLine(string.Format("{0:yyyy年MM月dd日}", DateTime.Now));

//(12)连接成一个字符串(静态方法Concat、静态方法Join和实例方法StringBuilder.Append)
            s ="A,B,C,D";
            string[] arr3 = s.Split(‘,‘); // arr = {"A","B","C","D"}

Console.WriteLine(string.Concat(arr3)); // 将一个字符串数组连接成一个字符串,输出"ABCD"

Console.WriteLine(string.Join(",", arr3)); // 以","作为分割符号将一个字符串数组连接成一个字符串,输出"A,B,C,D"

StringBuilder sb =new StringBuilder(); // 声明一个字符串构造器实例
            sb.Append("A"); // 使用字符串构造器连接字符串能获得更高的性能
            sb.Append(‘B‘);
            Console.WriteLine(sb.ToString());// 输出"AB"

Console.ReadKey();
        }

时间: 2024-11-01 06:44:55

C#操作字符串方法总结<转>的相关文章

C语言一些常见的操作字符串方法

// 首字母大写 for(int i=0;(c=string[i])!='\0';i++) // 字符串碰到\0结束 C知识 { if (c==' ') { printf("%c",c), word=0; }else if (word==0) { word=1; if (c>=97&&c<122) { //转换ASCII c=c-32; } num++; printf("%c",c); }else if (word==1){ printf

C#操作字符串方法总结

转自博客http://www.cnblogs.com/junbird-nest/archive/2012/03/23/2413482.html

PHP数组常用数组方法、操作字符串的方法

数组方法作用及例子 1.in_array()   判断数组中是否存在某一值 $arr = array('a','b','c'); if(in_array('a',$arr)){ echo "yes"; }else{ echo"no"; }  //输出结果 :yes 2.implode()  数组转字符串 $arr = array('a','b','c'); echo implode(".",$arr);  //输出结果:a.b.c 3.json_

python字符串操作实方法大合集

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

编写高质量代码改善C#程序的157个建议[正确操作字符串、使用默认转型方法、却别对待强制转换与as和is]

前言 本文主要来学习记录前三个建议. 建议1.正确操作字符串 建议2.使用默认转型方法 建议3.区别对待强制转换与as和is 其中有很多需要理解的东西,有些地方可能理解的不太到位,还望指正. 建议1.正确操作字符串 字符串应该是所有编程语言中使用最频繁的一种基础数据类型.如果使用不慎,我们就会为一次字符串的操作所带来的额外性能开销而付出代价.本条建议将从两个方面来探讨如何规避这类性能开销: 1.确保尽量少的装箱 2.避免分配额外的内存空间 先来介绍第一个方面,请看下面的两行代码: String

【转】Windows内核下操作字符串!

* Windows内核下操作字符串! */ #include <ntddk.h> #include <ntstrsafe.h> #define BUFFER_SIZE 1024 VOID DriverUnload(IN PDRIVER_OBJECT pDriverObject) { KdPrint(("DriverUnload Load...\n")); } //==================================================

JavaScript 字符串方法

字符方法<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>字符方法</title> </head> <body> <script type="text/javascript"> /* charAt方法和charCodeAt方法都接收一个参数,基于0的字

SQL 2005 中查询或执行另外的数据库操作的方法

原文:SQL 2005 中查询或执行另外的数据库操作的方法 摘要: 如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据,又该怎么办呢? 1.Synonym 2.openquery 3.Linked Servers Server Object-->Linked Servers--> serverType 选择 SQL Server, 在 Security 中 选择"Be made using this se

jquery源码解析:jQuery队列操作queue方法实现的原理

我们先来看一下jQuery中有关队列操作的方法集: 从上图可以看出,既有静态方法,又有实例方法.queue方法,相当于数组中的push操作.dequeue相当于数组的shift操作.举个例子: function aaa(){ alert(1); } function bbb(){ alert(2); } $.queue(document,"q1",aaa);   //在document下创建一个队列q1,并往q1队列中添加aaa函数. $.queue(document,"q1