首页 > 其他 > 详细

黑马程序员---string类的使用

时间:2014-04-17 06:00:15      阅读:492      评论:0      收藏:0      [点我收藏+]
string类(字符串):


 1 空字符串(""),空格(" ")和null的区别:
"a"+""+"b" 为 "ab"
"a"+" "+"b"为 "a b"


2 string和String的区别:小写的string会编译成大写的String,和int与int32的区别一样,
       认为是等同的。
3 string实例的声明:
 char[] chs=new char[]{‘a‘,‘b‘,‘c‘};
 string str=new string(chs);
 字符串其实就是一串字符,可看做是字符数组。
4 字符串用索引进行访问:实例名[编号]: str[0] 。
  字符串属性(实例名[编号])是只读的,不可修改,字符串的不可变性。
  str+="123"; 此时并没有改变字符串,而是重新生成了一个新的字符串。
    字符串的间接修改:将其转换成char数组,修改后再转换成字符串。
  char[] chs=str.ToCharArray();
  char[0]=‘d‘;
  str=new string(chs);
5.0 常用的属性和方法:
  length 得到字符串的长度
  ==     判断两个字符串是否相等
5.1 字符窜大小写
     string <strName>.ToUpper();  
string <strName>.ToLower(); 
例子:等待用户输入的时候,常不考虑输入的用户名的大小写(或一个程序中规定使用的大小写)
可以将用户的输入全转换成大写或小写再进行比较。
如:console.writeline("输入用户名");
     string uid=Console.readline().ToLower();
 再将uid与系统中的数据进行比较。
5.2 去掉两端空格
     string <strName>.Trim();  去掉字符串首尾的空格
取得用户输入时,去掉用户输入的空格
      TrimStart()  去掉开始的空格
 TrimEnd()  去掉结尾的空格 
                 去掉中间的空格
5.3 去掉两端指定的字符
Trim(params char[] trimChars)  去掉首尾出现在字符数组中的字符
    例子:string str="abcdfebca";
           str.Trim(‘a‘,‘b‘,‘c‘);  
  去掉首尾字符数组中的abc,与数组中的字符 顺序无关
5.4 字符串的比较
  Compare()方法
   int string.Compare(string str1,string str2,bool ignoreCase) 
   比较的两个字符串str1和str2 ,bool表示是否区分大小写,true为不区分大小写,默认为false,   
   按照字典排序比较:str1>str2 ,返回1 相等返回0  否则返回-1  
   
  Equal() 方法 
   bool <strName>.Equals(string str,StringComparison.OrdinalIgnoreCase);
   表示同str比较,并忽略大小写。相等返回true,否则返回false
   
   string.Equals(str1,str2)
5.5 字符串的合并与分割
   合并Join方法,Join(str,string []str) 或Join("",string []strs)
                  用str将字符串数组元素连接或将字符串数组元素直接连接
        例子:         string [] strs={"我","爱","你"}
                  string.Join("|",strs)
   分割Split方法 
      string[] Split( params char[] separator) 
 string [] Split( char[] separator,StringSplitOptions options)  
         当取值为StringSplitOptions.RemoveEmptyEntries时表示返回不包括含有空字符串("")的数组元素
    它去掉的是空字符串项(占用内存空间),不是空格项。
         例子:string path=@"C:\Windows\System32\MyFile\1.avi";
           分析出该文件的文件名和各个文件夹
 
string [] strs=  path.Split(‘\\‘); 两个\表示转义 
  
        例子: string str="I have a dream!!!what about you?";   
    string[] strs=str.Split(new char[]{‘‘,‘!‘,‘?‘},StringSplitOptions.RemoveEmptyEntries);
        例子:string str="a b c d h    k   m   n";
              string[] strs=str.Split(new char[] {‘‘},StringSplitOptions.RemoveEmptyEntries)
     str=string.Join("",strs);
5.6 得到子串
  Substring(int index,int length)
        表示 Substring(开始位置,[截取的字符串的长度]) 若截取的长度超出长度范围,报异常
   Substring(int index)  从index开始截取所有字符串
   例子:   string str="我是一个走马灯";
            while(true)
{
  Console.clear();
  str=str.Substring(1)+str[0];
  Console.writeline(str);
  System.Threading.Thread.Sleep(200);
}
   
           System.Diagnostics.Process.Start("notepad");启动新的进程
      
5.7 字符串的查找
   Contains()方法
        str.Contains(string str1) 是否包含子串
   IndexOf方法  
      int IndexOf(str)方法  得到第一个出现的子串的索引 ,找不到返回-1 与Substring()结合使用
  IndexOf(string str,int startindex) 定义查找的开始位置
 int LastIndexOf()  得到最后一个出现的子串的索引。
   IndexOfAny方法
      int <strName>.IndexOfAny(char[] anyof);
       寻找 字符数组中所有的字符,返回出现的第一个的位置
    重载:int <strName>.IndexOfAny(char[] anyof,int startIndex);   


   找到所有的位置: 
                 string str="abcdabcdabab";
              int position=-1;
do
{
  position=str.IndexOfAny(new char[] {‘b‘,‘a‘},position+1)
   if(position!=-1)
{
Console.writeline("b或a的位置是{0}",position);
                     }         
}
                 while(position!=-1)


5.8 字符串的插入 移除和替换
   Insert(int index,string str)
   Remove(int index) 
    重载: Remove(int index,int count)
   Replace(string oldstr,string newstr)
 
   例子:string date="2014年4月4日";
       date =date.Replace("年","-").Replace("月","-").Replace("日","");


5.9 判断结束和开始
      bool StartWith(string str)
       bool  EndWith(string str)
例子:信息的搜索与匹配
string str="天黑黑.mp3";
if( str.EndWith(".mp3"))
{
 
Console.writeline("下载歌曲");
 
}


5.10  
       String.Format()  将几个子字符串拼接并返回.Console.writeline便调用了此方法。
           Console.writeline(string.Format())
      string str= String.Format("{0}{1}{2}","字符串","123","a");  
     此时str为"字符串123a"
 
6 随机数Random类,用来产生随机数的类
   Random r=new Random(); 创建能产生随机数的对象
   int i =r.Next()           调用对象的Next方法产生随机数,并返回
      无参                     0~int.MaxValue
 有一个参数,为Max        0~max
 有两个参数,为min和Max   min~max
(右边取不到)
 
 
 
 
 
 
 





黑马程序员---string类的使用,布布扣,bubuko.com

黑马程序员---string类的使用

原文:http://blog.csdn.net/zhangsu_/article/details/23854997

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!