轻松学习C#的String类

字符串是由零个或多个字符组成的有限序列,是几乎所有编程语言中可以实现的非常重要和有用的数据类型。在C#语言中,字符串是System.String类的一个引用类型,但与其他引用类型不同的是,C#将字符串视为一个基本类型,可以声明为一个常量,并可以直接赋值。由于C#中的字符串是由System,String类派生而来的引用对象,因此可以使用String类的方法来对字符串进行各种操作。下面通过几个例子来讲述String类的几个重要方法。
一、字符串的截取
字符串截取是通过Substring方法实现的,它有两种重载方法,格式分别为:
         (1)字符串1.Substring(整数n);将字符串1前n个长度的字符串截取掉,保留后面的字符串
         (2)字符串1.Substring(整数n,整数m);保留从字符串1第n个长度开始数m个长度的字符串
         两种重载方法都返回一个新的字符串。
例一:实现对字符串“0123456789”的截取

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; 

namespace 字符串
{
 class Program
 {
  static void Main(string[] args)
  {
   string nums = "0123456789";
   string newnums1;
   string newnums2;
   newnums1 = nums.Substring(5);//截取从索引5开始后的字符
   newnums2 = nums.Substring(3,5);//截取从索引3开始数5个字符
   Console.WriteLine(newnums1);
   Console.WriteLine(newnums2);
   Console.ReadLine();
  }
 }
}</span>

输出的结果为:56789
                       34567
注意:字符串的索引是从0开始的,在使用Substring方法的第二种重载时,整数n和整数m的和不要大于要截取的字符串的长度,否则会产生越出索引异常。
二、字符串的分割
字符串的分割是通过Split方法实现的。常用的一种格式为:
        字符串1.Split(字符串或字符数组)
        通过Split方法分割字符串后将生成多个字符串,所以经过Split方法分割的返回值是一个字符串数组。
例二:实现对字符串“abcefgaabsbdeesdabc”的分割

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; 

namespace 字符串
{
 class Program
 {
  static void Main(string[] args)
  {
   string str="abcefgaabsbdeesdabc";
   Console.WriteLine("原字符串为{0}",str);
   Console.WriteLine("通过单个字符e分割后如下:");
   string[] singleSplit = str.Split('e');//进行单个字符分割的方法
   foreach (string outstr in singleSplit)
   {
    Console.WriteLine(outstr);
   }
   Console.WriteLine("通过多个字符e,b,s分割后如下:");
   string[] multiSplit = str.Split(new char[] {'e','b','s'});//进行多个字符分割的方法
   foreach (string outstr in multiSplit)
   {
    Console.WriteLine(outstr);
   }
   Console.ReadLine();
  }
 }
}
</span>

输出的结果为:

三、字符串的合并
字符串的合并通过“+”,Concat方法和Join方法来实现的。
         (1)用“+”符号来连接两个字符串后形成一个新的字符串,格式为:字符串1+字符串2=字符串3。
         (2)用Concat方法连接字符串的格式为:string.Concat(字符串1,字符串2,...,字符串n)。
         (3)用Join方法是将字符串数据合并为一个新的字符串,格式为:string.Join(合并后的分隔符,字符串数组)。
例三,实现对字符串str1和str2的合并

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; 

namespace 字符串
{
 class Program
 {
  static void Main(string[] args)
  {
   string str1 = "abc";
   string str2 = "ghj";
   string[] array = {"123","456","789"};
   string str3 = str1 + str2;
   string str4 = string.Concat(str1,str2);
   string str5 = string.Join("|",array);//将数组中元素合并为一个新的字符串
   Console.WriteLine(str3);
   Console.WriteLine(str4);
   Console.WriteLine(str5);
   Console.ReadLine();
  }
 }
}</span>

输出的结果为:abcghj
                       abcghj
                       123|456|789
四、字符串的替换
       字符串的替换是通过Replace方法实现的,格式为:字符串.Replace(要替换的原字符串,替换后的字符串);
例四,实现对字符串str的替换

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; 

namespace 字符串
{
 class Program
 {
  static void Main(string[] args)
  {
   string str = "abcadfaslfj";
   string replacestr = str.Replace("a","|");//用“|”替换“a”
   Console.WriteLine(replacestr);
   Console.ReadLine();
  }
 }
}</span>

输出的结果为:|bc|df|slfj
五、字符串的插入与填充
        字符串的插入是通过Insert方法实现的,其格式为:字符串.Insert(插入位置,插入字串)
        字符串的填充是通过PadRight方法和PadLeft方法实现的。
        PadRight方法是在字符串的结尾通过添加指定的重复字符填充字符串,格式为:字符串.PadRight(总长度)(以空格填充)和字符串.PadRight(总长度,要填充的字符)。
        PadLeft方法是在字符串的开头通过添加指定的重复字符填充字符串,格式为:字符串.PadLeft(总长度)(以空格填充)和字符串.PadLeft(总长度,要填充的字符)。
例五、实现对字符串str的插入与填充

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; 

namespace 字符串
{
 class Program
 {
  static void Main(string[] args)
  {
   string str = "abcdefg";
   string insertstr;
   string padrightstr;
   string padleftstr;
   insertstr = str.Insert(5,"12345");
   padrightstr = str.PadRight(10,'v');
   padleftstr = str.PadLeft(10,'w');
   Console.WriteLine(insertstr);
   Console.WriteLine(padrightstr);
   Console.WriteLine(padleftstr);
   Console.ReadLine();
  }
 }
}</span>

输出的结果为:

 六,字符串的删除
字符串的删除是通过Remove方法实现的,格式为:
         (1)字符串.Remove(开始位置)
         (2)字符串.Remove(开始位置,移除数)
其中,开始位置是指字符串的索引,是一个整数,且小于字符串的长度。第一种格式,是将字符串开始位置后的所有子子符删除,而第二种是将从开始位置开始数到移除数位置的字符删除。
例六,实现字符串str的删除

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; 

namespace 字符串
{
 class Program
 {
 static void Main(string[] args)
 {
  string str = "0123456789";
  string delstr1;
  string delstr2;
  delstr1 = str.Remove(6);//删除字符串索引为6后面的字符
  delstr2 = str.Remove(5,5);//删除字符串索引自5开始后数5个长度的字符
  Console.WriteLine(delstr1);
  Console.WriteLine(delstr2);
  Console.ReadLine();
 }
 }
}</span> 

输出的结果为:012345
                       01234
七、字符串的复制
         字符串的复制是通过Copy方法和CopyTo方法实现的。若想把一个字符串复制到另一个字符数组中,可以使用String的静态方法Copy来实现。其格式为:string.Copy(要复制的字符串)。
         CopyTo方法可以实现Copy同样的功能,但是功能更为丰富,可以复制原字符串的一部分到一个字符数组中,其格式为:CopyTo(要复制的字符起始位置,目标字符数组,目标数组中的开始存放位置,要复制的字符个数)。
例七,实现字符串str的复制

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; 

namespace 字符串
{
 class Program
 {
 static void Main(string[] args)
 {
  string str = "This is a string";
  string copystr;
  copystr = string.Copy(str);
  char[] newchar=new char[20];
  str.CopyTo(5,newchar,0,11);
  Console.WriteLine(copystr);
  Console.WriteLine(newchar);
  Console.ReadLine();
 }
 }
}</span>

输出的结果为:This is a string
                        is a string
八、字符串的大小写转换
         字符串大小写转换是通过String类的ToLower方法和ToUpper方法实现的,ToLower方法是将字符串转换为小写形式,ToUpper是将字符串转换为大写形式。
例八,实现字符串str的大小写转换

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; 

namespace 字符串
{
 class Program
 {
 static void Main(string[] args)
 {
  string str = "This is a string";
  string lowerstr;
  string upperstr;
  lowerstr = str.ToLower();
  upperstr = str.ToUpper();
  Console.WriteLine("小写形式:{0}",lowerstr);
  Console.WriteLine("大写形式:{0}",upperstr);
  Console.ReadLine();
 }
 }
}</span>

输出的结果为:this is a string
                       THIS IS A STRING
九、字符串的查找
         字符串的查找是通过IndexOf方法和LastIndexOf方法实现的。其格式为:
         字符串.IndexOf(要查找的字符或字符串)
         字符串.LastIndexOf(要查找的字符或字符串)
         其中,IndexOf方法是返回要查找的字符或字符串第一次在所要查找的字符串出现的位置,LastIndexOf方法是返回要查找的字符或字符串最后一次在所要查找的字符串中出现的位置。IndexOf方法和LastIndexOf方法都返回一个整数,如果在所要查找的字符串内不包含要查找的字符或字符串则返回一个负数。
例九,实现字符串str的查找

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; 

namespace 字符串
{
 class Program
 {
 static void Main(string[] args)
 {
  string str = "This is a string";
  int rh1 = str.IndexOf("i");
  int rh2 = str.LastIndexOf("i");
  if (rh1>=0)
  {
  Console.WriteLine("字符i在字符串str第一次出现的位置是:{0}",rh1);
  Console.WriteLine("字符i在字符串str最后一次出现的位置是:{0}", rh2);
  }
  else
  {
  Console.WriteLine("字符i在字符串str未出现");
  }
  Console.ReadLine();
 }
 }
}</span>

输出的结果为:字符i在字符串str第一次出现的位置是:2
                       字符i在字符串str最后一次出现的位置是:13
十、字符串的追加
        在使用System.String类中的方法时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销就可能非常高。为了解决这个问题,C#提供了一个类StringBuilder。
        使用StringBuilder类时,首先要引入System.Text命名空间,然后通过new关键字对其进行初始化。StringBuilder类的方法使用和String类的方法使用是一样的。
例十、实现对字符串str的追加

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; 

namespace 字符串
{
 class Program
 {
 static void Main(string[] args)
 {
  StringBuilder str =new StringBuilder( "Hellow World!");
  Console.WriteLine("---Append---");
  str.Append("What a beautiful day");
  Console.WriteLine("追加后的字符串为:{0}",str);
  Console.ReadLine();
 }
 }
}</span>

输出的结果为:---Append---
                       追加后的字符串为:Hellow World! What a beautiful day
补充:转义字符
         转义字符具有特定的含义,不同于字符原有的意义的字符。在C#语言中,转义字符是指“\”,主要用来表示那些用一般字符不方便表示的控制代码。
        对于转义字符的输出C#语言有着特殊的格式:

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; 

namespace 字符串
{
 class Program
 {
 static void Main(string[] args)
 {
  Console.WriteLine(@"C:\Windows\system32");//第一种输出格式就是在前面加@
  Console.WriteLine("C:\\Windows\\system32");//第二种输出格式就是将"\"改成"\\"
  Console.ReadLine();
 }
 }
}
</span>

输出的结果为:

以上就是C#的String类全部学习例题,很详细的学习教程,希望对大家的学习有所帮助。

(0)

相关推荐

  • C#实现去除Strings中空格的方法

    本文实例讲述了C#实现去除Strings中空格的方法,分享给大家供大家参考.具体实现方法如下: 一般来说,你或许知道你能使用String.Trim方法去除字符串的头和尾的空格,不幸运的是. 这个Trim方法不能去除字符串中间的C#空格. 示例代码如下: 复制代码 代码如下: string text = "  My test\nstring\r\n is\t quite long  ";  string trim = text.Trim(); 这个'trim' 字符串将会是: 复制代码

  • C#实现的图片、string相互转换类分享

    C#中,Image为源自 Bitmap 和 Metafile 的类提供功能的抽象基类,也就是说更通用,当我们用Image.FromFile("xxx")时创建出来的是Image的某个派生类实体,所以我用Image作为参数,而不是Bitmap之类的. 图片在于string转换的时候中间借助于MemorySteam和Byte数组,下面是我写的FormatChange类,里面两个互相转换的过程.当然这里面也就包含了图片与Byte[]数组的相互转换喽. class FormatChange {

  • C#中String与string的区别分析

    本文实例展示了C#程序设计中String与string的区别,对于C#初学者来说有很好的参考借鉴价值.具体如下: 一.区别分析: String:类,System.String string:类型,变量 两者本质上没有任何区别,都是System.String,string只是System.String的别名而已 唯一的区别在于如何按照代码约定的来写,如声明变量时使用小写string,使用System.String下方法时使用大写的String 二.示例代码如下: class Program { s

  • C#中String类常用方法汇总

    本文实例汇总了C#中String类常用方法.分享给大家供大家参考.具体分析如下: C#中的String类很有用,下面是一些它的常用方法的总结,如果灵活运用这些的话,String类就掌握的差不多了. .ToLower()    //转为小写字符串"AbC"-->"abc" .ToUpper()    //转为大写"AbC" -->"ABC" .Trim()       //去掉字符串首尾的空格"  abc

  • C#中string用法实例详解

    在进行C#程序设计时,用的最多的莫过于string了,但有些时候由于不仔细或者基础的不牢固等因素容易出错,今天本文就来较为详细的总结一下C#中string的用法.具体如下: 1.string是一个引用类型,平时我们比较string对象,比较的是对象的值而不是对象本身 如下面代码所示: string strA="abcde"; string strB="abc"; string strC="de"; Console.WriteLine(strA =

  • 轻松学习C#的String类

    字符串是由零个或多个字符组成的有限序列,是几乎所有编程语言中可以实现的非常重要和有用的数据类型.在C#语言中,字符串是System.String类的一个引用类型,但与其他引用类型不同的是,C#将字符串视为一个基本类型,可以声明为一个常量,并可以直接赋值.由于C#中的字符串是由System,String类派生而来的引用对象,因此可以使用String类的方法来对字符串进行各种操作.下面通过几个例子来讲述String类的几个重要方法. 一.字符串的截取 字符串截取是通过Substring方法实现的,它

  • 轻松学习C#的ArrayList类

    动态数组ArrayList类在System.Collecions的命名空间下,所以使用时要加入System.Collecions命名空间,而且ArrayList提供添加,插入或移除某一范围元素的方法.在ArrayList中,用户只能一次获取或设置一个元素的值. 一.ArrayList元素的添加          ArrayList提供了两种方法用于向ArrayList添加元素,即Add和AddRange.          (1),Add方法将单个元素添加到列表的尾部,其格式为:ArrayLis

  • XML轻松学习手册(三):XML的术语

    提纲: 导言 一.XML文档的有关术语 二.DTD的有关术语 导言 初学XML最令人头疼的就是有一大堆新的术语概念要理解.由于XML本身也是一个崭新的技术,正在不断发展和变化,各组织和各大网络公司(微软,IBM,SUN等)都在不断推出自己的见解和标准,因此新概念漫天飞就不足为奇了.而国内又缺乏权威的机构或组织来对这些术语正式定名,你所看见的有关XML的中文教材大部分是靠作者本身的理解翻译过来的,有些是正确的,有些是错误的,更加妨碍了我们对这些概念的理解和学习. 你下面将要看到的关于XML术语的解

  • XML轻松学习手册(3)XML的术语

    第三章 XML的术语提纲: 导言 一.XML文档的有关术语 二.DTD的有关术语 导言 初学XML最令人头疼的就是有一大堆新的术语概念要理解.由于XML本身也是一个崭新的技术,正在不断发展和变化,各组织和各大网络公司(微软,IBM,SUN等)都在不断推出自己的见解和标准,因此新概念漫天飞就不足为奇了.而国内又缺乏权威的机构或组织来对这些术语正式定名,你所看见的有关XML的中文教材大部分是靠作者本身的理解翻译过来的,有些是正确的,有些是错误的,更加妨碍了我们对这些概念的理解和学习. 你下面将要看到

  • 轻松学习XML教程

    传统上,我们浏览网页,如果加入最新的数据.只能是等我们重新向服务器端请求时才能显示出来. 但是,对于一些时效性很强的网站.传统的这种做法是不能满足的. XML越来越热,关于XML的基础教程网络上也随处可见.可是一大堆的概念和术语往往让人望而生畏,很多朋友问我:XML到底有什么用,我们是否需要学习它?我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章.首先有两点是需要肯定的: 第一:XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解,等待只会让你失去机会: 第

  • Java进阶教程之String类

    之前的Java基础系列中讨论了Java最核心的概念,特别是面向对象的基础.在Java进阶中,我将对Java基础进行补充,并转向应用层面. 大部分编程语言都能够处理字符串(String).字符串是有序的字符集合,比如"Hello World!".在Java中,字符串被存储为String类对象.调用字符串对象的方法,可以实现字符串相关的操作. String类包含在java.lang包中.这个包会在Java启动的时候自动import,所以可以当做一个内置类(built-in class).我

  • Java String类的常用方法汇总

    一.String类 String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.java把String类声明的final类,不能有类.String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间. 二.String类对象的创建 字符串声明:String stringName; 字符串创建:stringName = new String(字符串常量);或stringName = 字符串常量; 三.String类构造方法 1.public

  • 轻松学习C#的运算符

     一.字符串连接运算符("+")         字符串连接运算符的作用是将两个字符串连接在一起,组成一个新的字符串.在程序中出现("提示字符"+变量),这里起字符连接作用.         用一个例子来说明字符串连接运算符的作用: <span style="font-size:18px;">using System; using System.Collections.Generic; using System.Linq; using

  • java String类常用方法练习小结

    String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串. String 类包括的方法可用于检查序列的单个字符.比较字符串.搜索字符串.提取子字符串. 创建字符串副本并将所有字符全部转换为大写或小写. String类是最常用的类之一,下面就通过几个练习,熟悉String类中的提供的重要方法. 字符串练习一 给定一个字符串数组,按照字典顺序,进行大小写排序 思路: 1.

  • JAVA中String类与StringBuffer类的区别

    在Java中有两种字符串的操作:String类和StringBuffer类(缓冲字符串处理类). 下面先简单的说一下两者的区别. String类和StringBuffer类都提供了相应的方法实现字符串的操作,但二者略有不同. (1) String类 该类一旦产生一个字符串,其对象就不可变.String类的内容和长度是固定的.如果程序需要获得字符串的信息需要调用系统提供的各种字符串操作方法实现.虽然通过各种系统方法可以对字符串施加操作,但这并不改变对象实例本身,而是生成一个新的实例.系统为Stri

随机推荐