ToLower():得到字符串的小写形式。
注意字符串是不可变的,所以这些函数都不会直接改变字符串的内容,而是把修改后的字符串的值通过函数返回值的形式返回。s.ToLower()与s=s.ToLower()
ToUpper():得到字符串的大写形式; Trim()去掉字符串两端的空白。
s1.Equals(s2, StringComparison.OrdinalIgnoreCase),两个字符串进行比较不区分大小写的比较。
s1==s2

            //练习一: 随机输入你心中想到的一个名字,然后输出它的字符串长度
//Length:可以得字符串的长度
Console.WriteLine("请输入你心中想的那个人的名字");
string name = Console.ReadLine();
Console.WriteLine("你心中想的人的名字的长度是{0}", name.Length);
Console.ReadKey(); Console.WriteLine("请输入你喜欢的课程");
string lessonOne = Console.ReadLine();
// 将字符串转换成大写
lessonOne = lessonOne.ToUpper();
// 将字符串转换成小写形式
lessonOne = lessonOne.ToLower();
Console.WriteLine("请输入你喜欢的课程");
string lessonTwo = Console.ReadLine();
// lessonTwo = lessonTwo.ToUpper();
// lessonTwo = lessonTwo.ToLower();
if (lessonOne.Equals(lessonTwo, StringComparison.OrdinalIgnoreCase))
{
Console.WriteLine("你们俩喜欢的课程相同");
}
else
{
Console.WriteLine("你们俩喜欢的课程不同");
}
Console.ReadKey(); string s = "a b dfd _ + = ,,, fdf ";
//分割字符串Split
char[] chs = { ' ', '_', '+', '=', ',' };
string[] str = s.Split(chs, StringSplitOptions.RemoveEmptyEntries);
Console.ReadKey(); //练习:从日期字符串("2008-08-08")中分析出年、月、日;2008年08月08日。
//让用户输入一个日期格式如: 2008 - 01 - 02,你输出你输入的日期为2008年1月2日 string s1 = "2008-08-08";
// char[] chs = { '-' };
string[] date = s.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine("{0}年{1}月{2}日", date[], date[], date[]);
Console.ReadKey();
// 老赵 string str1 = "国家关键人物老赵";
if (str.Contains("老赵"))
{
str = str.Replace("老赵", "**");
}
Console.WriteLine(str);
Console.ReadKey(); // Substring 截取字符串 string str99 = "今天天气好晴朗,处处好风光";
str = str.Substring(, );
Console.WriteLine(str);
Console.ReadKey(); string str88 = "今天天气好晴朗,处处好风光";
if (str.EndsWith("风"))
{
Console.WriteLine("是的");
}
else
{
Console.WriteLine("不是的");
}
Console.ReadKey(); string str0 = "今天天天气好晴朗,天天处天好风光";
int index = str.IndexOf('哈', );
Console.WriteLine(index);
Console.ReadKey(); string str77 = "今天天气好晴朗,处处好风光";
int index66 = str.LastIndexOf('天');
Console.WriteLine(index);
Console.ReadKey(); //LastIndexOf Substring
string path = @"c:\a\b\c苍\d\e苍\f\g\\fd\fd\fdf\d\vfd\苍老师苍.wav";
int index55 = path.LastIndexOf("\\");
path = path.Substring(index + );
Console.WriteLine(path);
Console.ReadKey(); string str44 = " hahahah ";
// str = str.Trim();
//str = str.TrimStart();
str = str.TrimEnd();
Console.Write(str);
Console.ReadKey(); string str33 = "fdsfdsfds";
if (string.IsNullOrEmpty(str))
{
Console.WriteLine("是的");
}
else
{
Console.WriteLine("不是");
}
string[] names = { "张三", "李四", "王五", "赵六", "田七" };
//张三|李四|王五|赵六|田七
string strNew = string.Join("|", "张三", "李四", "王五", "赵六", "田七");
Console.WriteLine(strNew);
Console.ReadKey();

字符串的分割(S)
string[] Split(params char[] separator):将字符串按照指定的分割符分割为字符串数组;
string[] Split(char[] separator, StringSplitOptions options)将字符串按照指定的char分割符分割为字符串数组
( options 取RemoveEmptyEntries的时候移除结果中的空白字符串);

字符串函数详解
字符串替换:string Replace(string oldValue, string newValue)将字符串中的出现oldValue的地方替换为newValue。例子:名字替换。
取子字符串:string Substring(int startIndex),取从位置startIndex开始一直到最后的子字符串;
string Substring(int startIndex, int length),取从位置startIndex开始长度为length的子字符串,如果子字符串的长度不足length则报错。
bool Contains(string value)判断字符串中是否含有子串value
bool StartsWith(string value)判断字符串是否以子串value开始;
bool EndsWith (string value)判断字符串是否以子串value结束;
int IndexOf(string value):取子串value第一次出现的位置。
Int IndexOf(string value,int startIndex)

字符串常用方法:
StringBuilder 和 String 的区别?(*)
答:String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不会
。所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用 String
 如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。
两个类的工作原理不同:String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的
工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,
然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用System.Text命名空间下面的
StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。
当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,
那么StringBuilder类所耗费的时间和String类简直不是一个数量级的。

StringBuilder高效的字符串操作
当大量进行字符串操作的时候,比如,很多次的字符串的拼接操作。
String 对象是不可变的。 每次使用 System. String 类中的一个方法时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。 在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常大。 如果要修改字符串而不创建新的对象,则可以使用 System.Text. StringBuilder 类。 例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。
StringBuilder != String//将StringBuilder转换为String.用ToString();
StringBuilder仅仅是拼接字符串的工具,大多数情况下还需要把StringBuilder转换为String.
StringBuilder sb = new StringBuilder();
sb.Append();//追加字符串
sb.ToString();//把StringBuilder转换为字符串。
sb.Insert();
sb.Replace();
案例:使用程序拼html中的table

c# 基础字符串的更多相关文章

  1. python基础——字符串和编码

    python基础——字符串和编码 字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用 ...

  2. Python 基础 字符串拼接 + if while for循环

    注释单行注释 #多行注释 ''' 三个单引号或者三个双引号 """ ''' 用三引号引住可以多行赋值 用户交互 input 字符串拼接 +  ""%( ...

  3. Java基础-字符串(String)常用方法

    Java基础-字符串(String)常用方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.java的API概念 Java的API(API:Application(应用) Pr ...

  4. Java基础-字符串连接运算符String link operator

    Java基础-字符串连接运算符String link operator 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 字符串链接运算符是通过“+”进行拼接的. 一.使用“+”进行字 ...

  5. OC基础--字符串

    前言 做iOS开发有3年了,从当初的小白到现在,断断续续看过很多资料,之前也写过一些博文来记录,但是感觉知识点都比较凌乱.所以最近准备抽时间把iOS开发的相关知识进行一个梳理,主要分为OC基础.UI控 ...

  6. Python基础-字符串的使用

    基础知识 字符串解释:字符串是不可变的,所有元素赋值和切片赋值操作都是非法的,属于序列一种(字符串.元组.列表). 一.格式化字符串 (1).format()方法==str.format() 作用:将 ...

  7. Python 基础-> 字符串,数字,变量

    Python 基础:字符串,数字,变量 1. 字符串 (信息的一种表达方式) a. 使用引号创建字符串 b. 单引号,双引号,三引号: ', ", ''', ""&quo ...

  8. C# 基础 字符串 集合 文件操作

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. C语言相关的基础字符串函数

    C语言中没有专门的字符串类型,所以就用字符数组和字符指针形式表示 1 char arr[]="abcdef"; //字符数组表示的字符串 2 char*arr="abce ...

  10. Java基础—字符串的比较

    1."=="方法进行比较时有以下两种情况: 基础数据类型:比较的是数据值是否相同 引用类型:比较的是地址值是否相同 字符串是对象,它比较内容是通过一个方法实现的,equals() ...

随机推荐

  1. BZOJ_2957_楼房重建_线段树

    BZOJ_2957_楼房重建_线段树 Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经常无聊地看着窗外发呆,数自己能够看到多 ...

  2. P2024 [NOI2001]食物链[扩展域并查集]

    大水题一道啊,几分钟切掉. 还是扩展域,每个点拆3个点,之间连边表示有关系(即捕食关系).然后随便判定一下就好了,不难,毕竟NOI上古题目. #include<iostream> #inc ...

  3. ACM学习历程—Hihocoder编程之美测试赛B题 大神与三位小伙伴(组合数学 )

    时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 给你一个m x n (1 <= m, n <= 100)的矩阵A (0<=aij<=10000),要 ...

  4. 描述怎样通过flask+redis+sqlalchemy等工具,开发restful api

    flask开发restful api系列(8)-再谈项目结构 摘要: 进一步介绍flask的项目结构,使整个项目结构一目了然.阅读全文 posted @ 2016-06-06 13:54 月儿弯弯02 ...

  5. python script

    1.tab键自动补全(每次导入时要将脚本的路径加入到sys.path中) import sysimport readlineimport rlcompleterimport atexitimport ...

  6. LED接口

    通常我们都听到别人说DVI接口.VGA接口等,可是这些接口是什么意思,led显示屏厂家小编为您解析其含义与不同之处.   1.DVI接口 DVI接口相校于VGA.HDMI.DP等接口来说体积较大,是目 ...

  7. Spring boot 学习 九

    一:经过试验发现,如果使用如下的Controller(@RequestBody), 前台POST的请求body只能是JSON,如果是form-data, X-www-form-urlencoded 或 ...

  8. 有关mapminmax的用法详解

    几个要说明的函数接口: [Y,PS] = mapminmax(X) [Y,PS] = mapminmax(X,FP) Y = mapminmax('apply',X,PS) X = mapminmax ...

  9. linux cpu内存利用率获取

    有了这么好的工具,我们还需要自己造轮子么? 两种情况,如果有复杂的监控需求,而且愿意花时间学习,我们可以使用nmon:但如果监控需求特殊比如说还要监控单个进程的情况,这时候就需要自己动手实现了.自己动 ...

  10. <正则吃饺子>:关于java中对内存部分的简单总结整理

    在项目和一些群讨论中,经常看到对内存的处理,但是,自己确是一知半解的,基于此,就把这部分的知识简单的整理了下,知识点来源于网络博文,也一一标明出处,谢谢. package com.love.malin ...