黑马程序员-String类

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

string可以看做char只读数组。char c=s[1];

C#中字符串有一个重要特性:不可变性,字符串一旦声明就不再可以改变。所以只能通过索引来读取指定位置的char,不能对指定位置的char进行修改

●如果要对char进行修改,那么就必须创建一个新的字符串,用s.ToCharArray();方法,使字符串变为字符数组,然后改变,创建新的字符串,例如:

            string s = "hello,world";

            char[] chars = s.ToCharArray();

            chars[1] = 'i';

            s = new string(chars);

            Console.WriteLine(s);

对数组修改后调用new string(char[])这个构造函数来创建char数组的字符串。一旦字符串被创建,那么char数组的修改也不会造成字符串被创建。

●如果为静态方法,类名.方法名;string类型比较特殊,可以new也可以不new,直接赋值。

注意:比如C#c#是一门课程,就是如何忽略大小写?

答:在C#里要进行忽略大小写的字符串替换,用stringReplace是很难做到的,即使花了天大的力气做到了,效率仍然是很低的,正确的方法应该是使用正则表达式。

要使用正则表达式,首先需要引用命名空间:
  using System.Text.RegularExpressions;

然后,非常简单,使用: 

Regex.Replace(字符串,要替换的子串,替换子串的字符,RegexOptions.IgnoreCase) 

就可以达到目的了,其中最后的参数RegexOptions.IgnoreCase即为指明忽略大小写 

例如:string result=Regex.Replace("C#","C","c",RegexOptions.IgnoreCase)

注意:方法中不加访问修饰符,方法中定义的变量只在方法中有效,为局部变量。

属性可以让类封装。

String类常用方法:

忽略大小写方法:

1ToLower():得到字符串的小写程序。

2、注意:注意字符串是不可变的,所以这些函数都不会直接改变字符串的内容,而是把修改后的字符串的值通过函数返回值的形式返回。s.ToLower()s.ToLower()

3ToUpper();得到字符串的大写形式;Trim()去掉字符串的两端空白。

4s1.Equals(s2,StringComparison.OrdinalIgnoreCase),两个字符串进行比较不区分大小写的比较

一切对象都可以调用.ToString()方法转换成字符串类型。

字符串的分割:

1、string[] Split(params char[] separator):将字符串按照指定的分隔符分割为字符串数组。

     例子string str = "my name is lilei";

            string[] words=str.Split(' '); //用空格分割

            for (int i = 0; i < words.Length; i++)

            {

                Console.WriteLine(words[i]);

            }

可以用多个分隔符,例如:

           string str = "How do you do?Fine,thanks!";

            string[] words=str.Split(' ','?','!',',');

            for (int i = 0; i < words.Length; i++)

            {

                Console.WriteLine(words[i]);

            }

但是这个方法不能忽略空格,可以用下面当方法

2、string[] Split(char[] separator,StringSplitOptions options)将字符串按照指定的char分隔符分割为字符串数组(optionsRemoveEmptyEntries的时候一出结果中的空白字符,返回值中不包含空字符串元素)

必须现有一个char类型数组,例如:

            string str = "How do you do?Fine,thanks!";

            char[] removeChar = { ' ''?''!'',' };

            string[] words=str.Split(removeChar,StringSplitOptions.RemoveEmptyEntries);

            for (int i = 0; i < words.Length; i++)

            {

                Console.WriteLine(words[i]);

            }

                Console.ReadKey();

字符串函数详解:

1、字符串替换:string Replacestring oldValue,string newValue)将字符串中出现oldValue的地方替换为newValue.例子:名字替换

2、取字符串:string Substring(int startIndex),取从位置startIndex开始一直到最后的子字符串

3、string Substringint startIndex,int length),取从位置startIndex开始长度为length的子字符串,如果子字符串的长度不足length则报错

4、bool Contains(string value)判断字符串是否含有子串value,有或者value为空为true,可以检测是否有关键字

5、bool StartsWith(string value)判断字符串是否以子串value开始

6、bool EndWith(string value)判断字符串是否以子串value结束

7、int IndexOf(string value)取子串value第一次出现的位置,找到返回value的位置,如果没有找到则为-1;若value为空,则返回0

8、int IndexOf(string value,int startIndex)startIndex的位置开始搜索,寻找第一次出现的位置。

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------
详细请查看: http://net.itheima.com/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值