常用 C#操作字符串方法
staticvoid Main(string[] args)
{
string s ="";
//(1)字符访问(下标访问s[i])
s ="ABCD";
Console.WriteLine(s[]); // 输出"A";
Console.WriteLine(s.Length); // 输出4
Console.WriteLine(); //(2)打散为字符数组(ToCharArray)
s ="ABCD";
char[] arr = s.ToCharArray(); // 把字符串打散成字符数组{'A','B','C','D'}
Console.WriteLine(arr[]); // 输出数组的第一个元素,输出"A"
Console.WriteLine(); //(3)截取子串(Substring)
s ="ABCD";
Console.WriteLine(s.Substring()); // 从第2位开始(索引从0开始)截取一直到字符串结束,输出"BCD"
Console.WriteLine(s.Substring(, )); // 从第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位总长度,输出"__ABCD"
Console.WriteLine(s.PadRight(, '_')); // 使用'_'填充字符串右部,使它扩充到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(, "BC")); // 在字符串的第2位处插入字符串"BC",输出"ABCDEF"
Console.WriteLine(s);
Console.WriteLine(s.Remove()); // 从字符串的第2位开始到最后的字符都删除,输出"A"
Console.WriteLine(s);
Console.WriteLine(s.Remove(, )); // 从字符串的第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[]); // 输出"AA"
Console.WriteLine(arr1[]); // 输出"BB"
Console.WriteLine(arr1[]); // 输出"CC"
Console.WriteLine(arr1[]); // 输出"DD"
Console.WriteLine(); s ="AA--BB--CC--DD";
string[] arr2 = s.Replace("--", "-").Split('-'); // 以字符串进行分割的技巧:先把字符串"--"替换为单个字符"-",然后以'-'字符对字符串进行分割,返回字符串数组
Console.WriteLine(arr2[]); // 输出"AA"
Console.WriteLine(arr2[]); // 输出"BB"
Console.WriteLine(arr2[]); // 输出"CC"
Console.WriteLine(arr2[]); // 输出"DD"
Console.WriteLine(); //(11)格式化(静态方法Format)
Console.WriteLine(string.Format("{0} + {1} = {2}", , , +));
Console.WriteLine(string.Format("{0} / {1} = {2:0.000}", , , 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();
}
public static int CompareOrdinal(string strA, string strB)
{
if (strA == strB)
{
return 0;
}
if (strA == null)
{
return -1;
}
if (strB == null)
{
return 1;
}
return CompareOrdinalHelper(strA, strB);
}
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public int CompareTo(string strB)
{
if (strB == null)
{
return 1;
}
return CultureInfo.CurrentCulture.CompareInfo.Compare(this, strB, CompareOptions.None);
}
public int Compare(object x, object y)
{
if (x == y)
{
return 0;
}
if (x == null)
{
return -1;
}
if (y == null)
{
return 1;
}
string str = x as string;
if (str != null)
{
string str2 = y as string;
if (str2 != null)
{
return this.Compare(str, str2);
}
}
IComparable comparable = x as IComparable;
if (comparable == null)
{
throw new ArgumentException(Environment.GetResourceString("Argument_ImplementIComparable"));
}
return comparable.CompareTo(y);
}
常用 C#操作字符串方法的更多相关文章
- C#操作字符串方法总结
/* ######### ############ ############# ## ########### ### ###### ##### ### ####### #### ### ####### ...
- 【JS】369- 20个常用的JavaScript字符串方法
点击上方"前端自习课"关注,学习起来~ 作者:前端小智 https://segmentfault.com/a/1190000020204425 本文主要介绍一些最常用的JS字符串函 ...
- 20个常用的JavaScript字符串方法
摘要: 玩转JS字符串. 原文:JS 前20个常用字符串方法及使用方式 译者:前端小智 Fundebug经授权转载,版权归原作者所有. 本文主要介绍一些最常用的JS字符串函数. 1. charAt(x ...
- 常用数组、字符串方法总结&获取元素、DOM操作
字符串的方法.返回值.是否改变原字符串:1 charAt() 方法可返回指定位置的字符. 不改变原始字符串 JavaScript并没有一种有别于字符串类型的字符数据类型,返回的字符是长度为 1 的字符 ...
- js中常用的操作字符串的方法大全
charCodeAt()返回一个整数,代表指定字符的Unicode编码 fromCharCode()从一些Unicode字符串得到一个字符串 charAt()根据指定下标位置返回对应字符,如果下标超 ...
- js 常用数组和字符串方法
javascript数组与字符串常用方法总结 最近在梳理js的基础,首先从数组和字符串开始. string 常用方法: 1.substring(start开始位置的索引,end结束位置索引) 截取的位 ...
- C#操作字符串方法总结<转>
staticvoid Main(string[] args) { string s =""; //(1)字符访问(下标访问s[i]) s ="ABCD"; Co ...
- JavaScript笔记(二)——常用数组、字符串方法的应用
1.将字符串中的字符翻转,比如'hello',翻转成'olleh'. var arr=[]; function reverseString(str) { arr=str.split("&qu ...
- js 操作字符串方法记录
var str="helloworld"; 这三个方法如果只传一个参数默认截取到最后..将截取的字符返回,对原字符串没有任何改变 slice(star,end)//从索引star开 ...
随机推荐
- 笔记 进程(processes)
进程:a program in execution(执行中的程序) 进程包括通过程序计数器(program counter)的值和处理器寄存器(processor's registers)的内容来表示 ...
- 关于 一开始不懂得 hosts配置。
是转载别人的. 原文: http://my.oschina.net/cxz001/blog/298228 感谢分享: 一开始抄着陪着win下的hosts文件.然后配置 apache中的hosts ...
- CentOS 7 安装 WordPress,PHP,Nginx,MySQL(MariaDB),FTP
主要资料参考:https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-st ...
- hibernate查询语句hql中的占位符?参数与命名参数:name设值方式搞混
先贴出异常 Struts has detected an unhandled exception: Messages: Position beyond number of declared ordin ...
- C#中dynamic的正确用法
C#中dynamic的正确用法 http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html dynamic是FrameWork4 ...
- 使用IntelliJ IDEA 配置Maven(入门)(转)
原文转自:http://blog.csdn.net/qq_32588349/article/details/51461182 1. 下载Maven 官方地址:http://maven.apache.o ...
- python海龟图制作
海龟画图很好看,先上图形: 依据代码注释随意打印出来就行: #!/usr/bin/python3.4 # -*- coding: utf-8 -*- import turtle # 拿起一支笔 t = ...
- Tuxedo 超时时间控制(转贴)
以下是转贴: TUXEDO超时控制全功略 摘要: 本<功略>集中了TUXEDO应用中,可能涉及到的所有时间参数,并分别对其进行详细描述,不但对其出处.取值等基本属性进行查证,而且,通过分析 ...
- Eclipse debug高级技巧(转)
Debug视图 认识debug视图,红色部分框为线程堆栈视图,黄色部分框为表达式.断点.变量视图,蓝色部分为代码视图. 线程堆栈视图 分别介绍一下这几个按钮的含义: 1.表示当前实现继续运行直到下一个 ...
- AES加密算法C++实现
我从网上下载了一套AES加密算法的C++实现,代码如下: (1)aes.h #ifndef SRC_UTILS_AES_H #define SRC_UTILS_AES_H class AES { pu ...