黑马程序员技术交流社区

标题: string字符串都有哪些方法 [打印本页]

作者: 赵贺景    时间: 2014-5-4 22:22
标题: string字符串都有哪些方法
本帖最后由 赵贺景 于 2014-5-5 15:48 编辑

  Console.WriteLine("请输入一字符串,中间用空格键分开");
            string str = Console.ReadLine();
            string[] str1 = str.Split(' ');
            string s="";
            for (int i = str1.Length-1; i>=0; i--)
            {
                s=s+" "+str1;
            }
            Console.WriteLine("原来的字符串为:{0}",str);
            s = s.Trim();
            Console.WriteLine("倒置后字符串为:{0}",s);
            Console.ReadLine();
这里面有个            string[] str1 = str.Split(' ');方法
还有一些
(1)定位字符:

int IndexOf(char value)

int IndexOf(char value, int startIndex)

int IndexOf(char value, int startIndex, int count)这些都应该怎么使用啊.

作者: 亚伦    时间: 2014-5-4 22:55
本帖最后由 亚伦 于 2014-5-4 22:57 编辑

建议你去查微软的帮助文档,里面有很详细的代码示例和解释。在C#代码里光标移动到String类型,按F1可以打开微软的帮助文档。http://msdn.microsoft.com/query/dev12.query?appId=Dev12IDEF1&l=ZH-CN&k=k(System.String);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5.1);k(DevLang-csharp)&rd=true

作者: 小狸    时间: 2014-5-5 00:38
本帖最后由 小狸 于 2014-5-5 01:04 编辑

  String类型是System.Char对象的有序集合,用于表示字符串.也就是说,字符char构成了字符串,所以我们可以有这样的用法
  1. string Str = "我是黑马程序员!";
  2. char chr;
  3. for (int i = 0; i < Str.Length; ++i) {
  4. chr = Str[i];
  5. Console.Write(chr);
  6. }
  7. Console.ReadLine();
复制代码
  1.比较字符串
   (1)Compare 方法  
    Compare方法是用来比较两个字符串的字典顺序.
   一个常用的重载方法为:Int Compare(string strA,string strB,bool ignorCase)第三个参数是bool类型的.如果为true,则在比较时忽略大小写.
  1. string Str1 = "我是黑马程序员!";
  2. string Str2 = "我是白马王子!";
  3. Console.WriteLine(String.Compare(Str1, Str2));
  4. Console.WriteLine(String.Compare(Str1, Str1));
  5. Console.WriteLine(String.Compare(Str2, Str1));
  6. Console.ReadLine();
复制代码

(2)CompareTo
类似Compare方法,只是形式不一样,用String实例化的对象调用.接着上面的程序:
  1.          Console.WriteLine(Str1.CompareTo(Str2)); //1
  2.          Console.WriteLine(Str1.CompareTo(Str1));//0
  3.          Console.WriteLine(Str2.CompareTo(Str1));//-1  
  4.          Console.ReadLine(); //CompareTo可以达到一样的效果
复制代码
(3)Equals方法
  比较两个字符串是否相同
  1. string Str1 = "我是黑马程序员!";
  2. string Str2 = "我是白马王子!";
  3. Console.WriteLine(Str1.Equals(Str2)); //false
  4. Console.WriteLine(Str1.Equals(Str1)); //true
  5. Console.ReadLine();
复制代码

  2.截取字符串
   Substring方法可以截取字符串中指定位置和指定长度的字符.
  1.             string Str1 = "我是.Net程序员";
  2.             int n =Str1.IndexOf(".");
  3.             string Str2 = Str1.Substring(0, n);
  4.             string Str3 = Str1.Substring(n);
  5.             Console.WriteLine(Str2);  
  6.             Console.WriteLine(Str3);
  7.             Console.ReadLine();//结果为:我是
  8.                                                         //.Net程序员            
复制代码
3.
分割字符串
    Split方法用于分割字符串.该方法的返回值是包含所有分割子字符串的数组对象,可以通过数组取得所有分割的字字符串.
  1.         string StrA ="我是#黑马!程序员";
  2.         char[]ins={'#','!'};
  3.         String[] splitstrings =new String[100];//程序结果为:我是
  4.         splitstrings= StrA.Split(ins);                                    //黑马
  5.         for(int i=0;i<splitstrings.Length;i++){                    //程序员
  6.                 Console.WriteLine(splitstrings);
  7.         }
  8.         Console.ReadLine();
复制代码
4.替换字符串
   Replace方法用来进行字符串中的某个字符或字符串替换成其他的字符或字符串.
  1.    string a = "我是.NET程序员";
  2.    string b =a.Replace('.','\0');
  3.    Console.WriteLine(b); //我是 NET程序员;
  4.    string c = a.Replace(".NET", "黑马");
  5.    Console.WriteLine(c);//我是黑马程序员;
  6.    Console.ReadLine();
复制代码
5.格式化字符串

    String类提供了一个静态的Format方法,用于将字符串数据格式化成指定的格式,经常会使用到它来对日期的格式化.
  1. DateTime dt =DateTime.Now;
  2. string strB=String.Format("{0:D}",dt);
  3. Console.WriteLine("strB");
复制代码
还有其他的日期格式如下表(日期参考用):
string.Format("{0:d}",dt); '2005-11-5
string.Format("{0: D}",dt); '2005年11月5日
string.Format("{0:f}",dt); '2005年11月5日 14:23
string.Format("{0:F}",dt); '2005年11月5日 14:23:23
string.Format("{0:g}",dt); '2005-11-5 14:23
string.Format("{0:G}",dt); '2005-11-5 14:23:23
string.Format("{0:M}",dt); '11月5日
string.Format("{0:R}",dt); 'Sat, 05 Nov 2005 14:23:23 GMT
string.Format("{0:s}",dt); '2005-11-05T14:23:23
string.Format("{0:t}",dt); '14:23
string.Format("{0:T}",dt); '14:23:23
string.Format("{0:u}",dt); '2005-11-05 14:23:23Z
string.Format("{0:U}",dt); '2005年11月5日 6:23:23
string.Format("{0:Y}",dt); '2005年11月
string.Format("{0}",dt); '2005-11-5 14:23:23

   这是我之前在自己日志上总结过一个String常用的方法,给你贴过来点.你也可以看2楼说的那样,帮助上说的很详细.  


作者: dwgeneral    时间: 2014-5-5 09:38
1.string是一个类,可以看成是char的只读数组,string类中的值不可改变,改变字符串的值,需要用 .ToCharArray()方法
  1. class Program
  2.     {
  3.         //改变string类型中的值
  4.         static void Main(string[] args)
  5.         {
  6.             string str =  "Yesterday once more" ;
  7.            //将string类型的数据转换成字符数组
  8.             char[] Ch = str.ToCharArray();
  9.             //改变字符数组中的值
  10.             Ch[9] = '.';
  11.             //调用字符串的构造方法重新生成字符串
  12.             str = new string(Ch);
  13.             Console.WriteLine(str);
  14.             Console.ReadKey();
  15.         }
  16.     }
复制代码

2.string类有两个方法,Tolower();Touper();忽略大小写,还有个Equels方法
  1. class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             //忽略字符串中的大小写
  6.             string str =  "Yesterday Once More" ;
  7.             //因为字符串的不可改变性,所以要将结果重新赋给str
  8.             str=str.ToLower();
  9.             //因为字符串的不可改变性,所以建立个string类型来重新接收它
  10.             string str1 = str.ToUpper();
  11.             Console.WriteLine(str);
  12.             Console.WriteLine(str1);
  13.             //使用Equels比较(忽略大小写)
  14.             if(str.Equals(str1, StringComparison.OrdinalIgnoreCase))
  15.             {
  16.                 Console.WriteLine("数据一样");
  17.             }
  18.             Console.ReadKey();
  19.         }
  20.     }
复制代码

3.字符串的连接  “+”  ,两边只要有一个是字符串类型,另一个也会被自动转换成字符串类型
  1. class Program
  2.     {
  3.         //连接“+”
  4.         static void Main(string[] args)
  5.         {
  6.             int i = 100;
  7.             string str = "westlife"+100+i;
  8.             Console.WriteLine(str);
  9.             Console.ReadKey();


  10.         }
  11.     }
复制代码

4.string[] Split (Params Char[] separator);字符串的分割: 将字符串按指定的分隔符分割为字符数组
  1. //用户输入一个“2008-01-02”格式的日期,
  2.         //分析用户输入的日期然后按照“2008年1月2日”的格式重新输出。
  3.         static void Main(string[] args)
  4.         {
  5.             //为了防止用户不正规输入,引入报错机制
  6.             try
  7.             {
  8.                 Console.WriteLine("请输入一个“2008-01-02”这样格式的日期:");
  9.                 //接收用户收入的字符
  10.                 string str = Console.ReadLine();
  11.                 //用分隔符将字符数据提取出来
  12.                 string[] date = str.Split('-');
  13.                 Console.WriteLine("你刚刚输入的是:{0}年{1}月{2}日", date);
  14.                
  15.             }
  16.             catch
  17.             {
  18.                 Console.WriteLine("你不按套路出牌,输入的格式不对哦!");
  19.             }
  20.             Console.ReadKey();
复制代码

我博客里有个帖子专门说了下string,你可以看看http://blog.csdn.net/guoweidong8180/article/details/24907063



作者: czwanglei    时间: 2014-5-5 14:21
string的方法有很多了。刚开始先熟练使用常用的一些方法,慢慢的积累,使用多了,就会其他的了。有什么不会的看,MSDN  在VS里面按F1就会出现。
作者: 永远的小飞侠    时间: 2014-5-6 07:43
感觉这些都不用死记的,用的时候看一下文档就明白了把




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2