一直以来都喜欢谢霆锋,喜欢他身上的那股劲,也一直喜欢唱他的歌,比如这首最广为人知的《因为爱,所以爱》:因为爱所以爱,温柔经不起安排,愉快那么快,不要等到互相伤害...是的,没到互相伤害,他与王菲就各奔东西了,多年后的今天,谈起王菲霆锋依然是恍如昨天一样,而就在这两天,王菲又和亚鹏劳燕分飞了,我们生在这个浮躁的年代,即便是房子车子把我们压得喘不过气的时候,我们对爱情的幻想依然不灭,可是锋芝恋和王菲以及董洁的前车之鉴,我们是否还有勇气相信爱情,除了一声唏嘘之外,我们又能做些什么呢?除了珍惜身边的一切外,我想我们更应该做的就是奋斗ing,所以程序猿们,雄起吧,字符串来袭,你准备好了吗?你们喜不喜欢我不知道,但是我是因为爱,所以爱!

1、先说说这个StringBuilder,叫做动态字符串,关于这个东东怎么用的说法是太多了,我就不明白了,很多人总喜欢把技术写的那么复杂,嘛呢?我觉得越简单越好,让我们的大脑留点时间给程序以外的事情不好吗?

记住了:在你用到一个字符串超过五次的情况下,果断用这个StringBuilder,为啥,性能呗!它的方法大致跟string的差不多,只不过少了点,具体有哪些呢,自己MSDN去!

用之前new一个这样的实例就可以了

StringBuilder MyStringBuilder = new StringBuilder("Hello World!", 25);
//然后你就可以肆无忌惮的用它的方法了

2、string.Concat()——字符串的联姻,我不想说什么话,让你看个例子就一切明了

string str1 = "中国";
string str2 = "好声音";
Console.WriteLine(string.Concat(str1, str2));
//输出:中国好声音

3、把字符串变成字符数组来访问的三种方式:

//用foreach的方式
string theString = "yes,I do!";foreach(char s in theString){Console.Write(s);}//通过ToCharArray()形式来获得表示字符串的字符数组string theString = "hello World";char[] theChars = theString.ToCharArray();//用数组下标的方式string s = "Iamwangwei";for(int i =0;i<s.length;i++){console.Write(s[i]);}

4、string.Substring()——截取子串,是字符串中的强盗

string mystring="My name is Jewill.";
//显示 "name is Jewill." ,从索引位置3开始截取
Console.WriteLine(mystring.Substring( 3 ));
//显示 "name" ,从索引位置3开始截取4个字符
Console.WriteLine(mystring.Substring( 3,4 ));

5、String.IndexOf()和String.LastIndexOf()——查找子串,神一样的速度

string myString = "因为爱所以爱";
myString.IndexOf("为");//位置为1
myString.IndexOf("爱");//位置为2
myString.LastIndexOf("爱");//位置为5
myString.IndexOf("屌丝");//位置为-1,找不到啊

6、Substring和IndexOf之双剑合璧——帮你找出字符串里边的东东

string myString = "因为爱所以爱";
string result = myString.Substring(myString.IndexOf("所"));
//result为:所以爱

7、PadLeft和PadRight——左右端填充字符串到指定长度

string str=”00″;
str=str.PadLeft(3,’1′); //无第二参数为加空格,结果为“100”,右边一样的道理

8、ToUpper和ToLower——字符串瞬间装换大小写,很简单,不说了
9、Remove——删除不留情面

//remove 删除字符串中指定位置的字符串片段 第一参数是位置 第2个参数是长度
string str = "0123456789";
Console.WriteLine(str.Remove(5));
Console.WriteLine(str.Remove(5,1));

10、Replace——让我一次换个够

string str = "因为爱所以爱";
Console.WriteLine(str.Replace("爱", "恨"));
//输出:因为恨所以恨

11、Trim——去掉你的空白格

string s = " 天天向上 ";
Console.WriteLine(s.TrimStart()); //结果:"天天向上 "
Console.WriteLine(s.TrimEnd()); //结果:" 天天向上"
Console.WriteLine(s.Trim()); //结果:"天天向上"

12、Insert——喜欢插队的家伙,随意插入字符

string s = "天天向上";
Console.WriteLine(s.Insert(2,"想")); //结果:"天天想向上"

13、Split——喜欢分裂人家字符串的家庭啊,把带有某一个特殊标记的字符串转换为字符串数组

string str = "中国|美国|俄罗斯";
string[] arr = str.Split('|');
foreach (string s in arr)
{
Console.WriteLine(s);
}
//结果:中国
        美国俄罗斯

14、Join——呵呵,这个倒是喜欢给字符串做媒啊,跟Split完全相反

string str = "中国|美国|俄罗斯";
string[] arr = str.Split('|');
string newStr = string.Join("*",arr);// newStr变为"中国*美国*俄罗斯";

15、Format——爱你没商量,确实好用,按你的格式输出想要的东东,很多的,自己查查格式符,很多的

string str = "my name is {0},I like {1},My age is{2}";
Console.WriteLine(string.Format(str,"霆锋","电影","33"));

var myStr = 120.5;Console.WriteLine(string.Format("{0:C}",myStr));//输出货币

16、对了还有N多转义字符串可用哦,什么\n,\r、、、老多了,自己查查就会用了
17、那有些人肯定说我不想用转义字符串,太TMD烦了,可不可以偷个懒啊,必须的啊:用@

@”C:\WINDOWS\system32″ 代替 “C:\\WINDOWS\\system32″ 有木有?一样一样的

18、ToString和Covert.ToInt32——让int和string随便转换,当然了tostring()也可以按你想要的方式显示字符串

double val=Math.PI;
Console.WriteLine(val.ToString("F3");//显示 3.142 ,其他的一个道理,不解释int a = 123456;
string s = a.tostring();
int b = Convert.ToInt32(s);
Console.WriteLine(s);//转换成功,结果:123456
Console.WriteLine(b);//转换成功,结果:123456

19、Convert.ToInt32、Int32.Parse和Int32.TryParse的区别是什么?都能把string转换为int,其实也就是一个性能的差别而已,记住就行:
根据性能好坏:首选Int32.TryParse(),其次是Int32.Parse(),最后是Convert.ToInt32()

20、Math.Round()——让四舍五入变得简单

Double a = 3.14159
Console.WriteLine(Math.Round(a,2));//输出3.14

21、有木有用过new string()构造N个重复的字符串?

string s = new string('$',7);
Console.WriteLine(s);//结果:$$$$$$$

22、开发中是不是会经常遇到判断字符串是否为空的情况?教你几种方式

1if(mystr == "")
2if(mystr == String.Empty)
3if(mystr.Lenght == 0)//最快哦

23、字符串的比较,四个函数可用:Compare( )、CompareTo( )、CompareOrdinal( )、Equals( ),具体用法上网自己查查去

24、C#类库里边有个牛B的东东System.Text.RegularExpressions.Regex,到时候记得要引用这个东东哦,因为它就是传说中的正则表达式啊

//一个简单的正则例子
string[] s = "123-456-7890";
string sPattern = "^\\d{3}-\\d{3}-\\d{4}$";
if (System.Text.RegularExpressions.Regex.IsMatch(s, sPattern))
{Console.WriteLine("格式正确");
}
else
{Console.WriteLine("格式不正确");
}

总结:

A、如果你觉得string类提供的方法不够用怎么办?——你可以利用C#里边的扩展方法进行扩展,这里就不具体说了
B、最好你能封装一个stringhelper类帮你处理字符串

字符串里边的学问其实很大,我等小菜程序猿也只是略知一二,希望通过此篇梳理一下字符串的相关知识,仅此而已!

转载于:https://www.cnblogs.com/WeiGe/p/3321887.html

C#字符串来袭——因为爱,所以爱相关推荐

  1. 专访@爱可可-爱生活:如何做好科学研究(干货满满)

    来源:NewBeeNLP作者:Maple小七 北京邮电大学·模式识别与智能系统本文约9100字,建议阅读10+分钟陈光老师教你如何做好科学研究. 「采访目的」 如何做好科学研究 「采访时间」 2021 ...

  2. 独家 | 数据分析@爱可可-爱生活是否在用机器学习算法运营微博

    微博账号@爱可可-爱生活是数据科学圈的网红,因每天分享大量精选的数据科学领域的学习资料而出名,深受粉丝关注和喜爱.该账号每天从早晨4-5点开始发微博,日均发布大几十条原创,有人不禁质疑,它的运营者北邮 ...

  3. 不是不去爱,爱了也是一种伤害!

    不是不去爱,爱了也是一种伤害! 转载于:https://blog.51cto.com/cl17467629/35653

  4. 专访《Javascript设计模式与开发实践》作者曾探:爱编程 爱生活

     专访<Javascript设计模式与开发实践>作者曾探:爱编程 爱生活 发表于12小时前| 2742次阅读| 来源CSDN| 8 条评论| 作者夏梦竹 专访曾探图书作者Javascr ...

  5. redis数据库价格_Caffeine和Redis居然可以这么搭,想不到吧,爱了爱了

    一. 为什么要用多级缓存? 如果只使用redis来做缓存我们会有大量的请求到redis,但是每次请求的数据都是一样的,假如这一部分数据就放在应用服务器本地,那么就省去了请求redis的网络开销,请求速 ...

  6. 爱python的胖虾_爱了爱了!0.052 秒打开 100GB 数据,这个Python开源库火爆了!

    原标题:爱了爱了!0.052 秒打开 100GB 数据,这个Python开源库火爆了! 编译 | AI科技大本营(ID:rgznai100) 许多组织都在尝试收集和利用尽可能多的数据,以改善其经营方式 ...

  7. 斐波那契数列(Fibonacci) - 这就是算法吗?爱了爱了

    斐波那契数列(Fibonacci) 今天开始做牛客的剑指Offie,一看到斐波那契我就想到递归,是它是它就是它,然后我就满怀期待地写下了下面地代码.ok,没问题,一次性过.然而,我滴老天鹅,才击败30 ...

  8. 愿你在迷茫时,坚信你的珍贵,爱你所爱,行你所行,听从你心,无问西东。...

    看到和听到的,经常会令你们沮丧,世俗是这样强大,强大到生不出改变它们的念头来.可是如果有机会提前了解了你们的人生,知道青春也不过只有这些日子,不知你们是否还会在意那些世俗希望你们在意的事情. 愿你在被 ...

  9. 想爱,爱不了,想恨,恨不下,想忘,忘不了

    总有那么个人,.想爱,爱不了 总有那么个人,想恨,恨不下 总有那么个人,想留,却留不住 总有那么个人,想放,却放不下 有的.有的.有的... 有的人,爱过了,就分开了 有的话,说过了,就后悔了 有道伤 ...

最新文章

  1. Ubuntu10.04安装Flash插件
  2. android 序列化_Android高级架构进阶之数据传输与序列化
  3. 解决DataList控件无缝滚动图片(转)
  4. 如何正确的进行网站入侵渗透测试
  5. DP 之 poj 2229
  6. php四种标量,php的标量数据类型和复合数据类型,php四种标量
  7. mysql binlog 统计_对MySQL binlog日志解析,统计每张表的DML次数
  8. [Ext JS]5.9 嵌套Grid的实现及注意事项
  9. MS-SQL中取年-月
  10. 内存条上面参数详解_【硬件篇】第4期:内存条知识(台式机)
  11. 用友通总账问题维护精粹
  12. 《ShowYou数组代码》第38题:对数组元素进行排序
  13. 编译原理递归下降语法分析器C++实现
  14. 二阶微分方程解法总结 Summary of Second Order Equations
  15. 华为/荣耀 Magicbook/Matebook 开机经常弹出华为智能还原
  16. 【PCL】PCL点云库介绍及VS环境配置
  17. Java学习笔记001_概述及环境搭载
  18. [ CTF ]天格战队WriteUp-首届数字空间安全攻防大赛(初赛)
  19. 先学c 还是先学java_小白学编程语言一开始先学c还是java?
  20. 苏州 计算机 在职研究生,苏州地区,可以报考哪些在职研究生院校!

热门文章

  1. 暴露的全局方法_Dubbo源码解析实战 - 服务暴露原理
  2. Githup高级搜索
  3. 文件夹内的文本行数_重温生物信息重要的文本处理命令(实例命令及解释)
  4. python import 类如何捕获clrt c_Python3 与 C# 扩展之~基础衍生
  5. python flask实战视频_Python Flask打造一个视频网站实战视频教程
  6. android秋招面试题及答案,阿里巴巴2019秋招客户端开发工程师在线笔试题和面试题答案...
  7. php置顶文章,zblogphp不同情况置顶文章调用方法
  8. php 获取上周日期_php 获取上一周下一周的日期列表
  9. 一般纳米材料是指尺度为_纳米是什么米?什么是纳米材料?(1)
  10. 范德堡大学排名计算机,2019上海软科世界一流学科排名计算机科学与工程专业排名范德堡大学排名第201-300...