字符串的声明与初始化以及获得字符串的长度范例
范例一
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string string1;//声明一个名称为string1的字符串
string1="I Love C#";//对string1进行赋值为"I Love C#",注意不要忘记 "" 符号
Console.WriteLine("string1={0}",string1);
Console.WriteLine("string1的长度为{0}",string1.Length);
string string2="I Love C#";//声明一个名称为string2的字符串并且赋值为"I Love C#"
Console.WriteLine("string2={0}",string2);
Console.WriteLine("string2的长度为{0}",string2.Length);
}
}
}
运行结果
string1=I Love C#
string1的长度为9
string2=I Love C#
string2的长度为9
Press any key to continue
2:利用“+”运算符将两个字符串或者多个字符串相连接以及Concat()方法的用法
范例一
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string string1;//声明一个名称为string1的字符串
string1="I Love C#";//对string1进行赋值为"I Love C#",注意不要忘记 "" 符号
Console.WriteLine("string1={0}",string1);
string string2="I Love Java";//声明一个名称为string2的字符串并且赋值为"I Love C#"
Console.WriteLine("string2={0}",string2);
Console.WriteLine("运用+运算符将string1和string2进行连接:");
string string3=string1+" "+string2;
Console.WriteLine("string3={0}",string3);
}
}
}
运行结果
string1=I Love C#
string2=I Love Java
运用+运算符将string1和string2进行连接:
string3=I Love C# I Love Java
Press any key to continue
范例二:方法Concat()的用法
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string str1="hello java";
string str2="hello world";
Console.WriteLine("使用方法Concat()将str1和str2相连后内容为-->{0}",string.Concat(str1," && ",str2));
}
}
}
运行结果为:
使用方法Concat()将str1和str2相连后内容为-->hello java && hello world
Press any key to continue
字符串的比较与运算符范例
范例一
在下面的范例中需要我们掌握的方法有
1:Compare(string str1,string str2,bool b)如果b为true则在比较的时候忽略大小写,反之为false
2:Compare(string str1,string str2)
3:CompareTo()
4:StartsWith()
5:EndsWith()
6:IndexOf()
7:LastIndexOf()
对于上面的这些方法在下面的范例中可以看出其各自的用法。请看范例
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string str1="I Love C#";
string str2="I Love c#";
string str3="I Love Java";
Console.WriteLine("str1是否等于str2:-->{0}",string.Compare(str1,str2));
Console.WriteLine("str1在忽略大小写的情况下是否等于str2-->{0}",string.Compare(str1,str2,true));
Console.WriteLine("str1是否等于str3-->{0}",str1.CompareTo(str3));
Console.WriteLine("str1的第0个字符是否与str3的第0个字符相等-->{0}",string.Compare(str1,0,str2,0,2));
Console.WriteLine("str1的第7个字符是否与str3的第7个字符相等-->{0}",string.Compare(str1,7,str2,7,2));
Console.WriteLine("str1的第7个字符是否与str3的第7个字符在忽略大小写的情况下相等-->{0}",string.Compare(str1,7,str2,7,2,true));
Console.WriteLine("str1是否以字符'I'开头-->{0}",str1.StartsWith("I"));
Console.WriteLine("str1是否以字符'i'开头-->{0}",str1.StartsWith("i"));
Console.WriteLine("str2是否以c# 结尾-->{0}",str2.EndsWith("c#"));
Console.WriteLine("字符串‘L’为字符串{0}第{1}个字符:",str3,str3.IndexOf('L'));
Console.WriteLine("字符'L'在字符串{0}中最后出现的位置为{1}",str3,str3.LastIndexOf('L'));
}
}
}
运行结果
str1是否等于str2:-->1
str1在忽略大小写的情况下是否等于str2-->0
str1是否等于str3-->-1
str1的第0个字符是否与str3的第0个字符相等-->0
str1的第7个字符是否与str3的第7个字符相等-->1
str1的第7个字符是否与str3的第7个字符在忽略大小写的情况下相等-->0
str1是否以字符'I'开头-->True
str1是否以字符'i'开头-->False
str2是否以c# 结尾-->True
字符串‘L’为字符串I Love Java第2个字符:
字符'L'在字符串I Love Java中最后出现的位置为2
Press any key to continue
字符串的分割与获取
String类提供了一个方法Split用以切割字符串,此方法返回一个包含所有分割子字符串的数组对象,可以经过数组取得所有分割的子字符串。请看下面的范例
范例一
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string str="How are you:what's you name:I love java";
string result="";
char split=':';
foreach(string s in str.Split(split)){
result+=s+'\n';
}
Console.WriteLine(result);
}
}
}
运行结果
How are you
what's you name
I love java
Press any key to continue
范例二
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string str="How.are you:what's. you name:I. love java";
string result="";
char [] split=new char[] {':','.'};
foreach(string s in str.Split(split)){
result+=s+'\n';
}
Console.WriteLine(result);
}
}
}
运行结果
How
are you
what's
you name
I
love java
Press any key to continue
方法Equals()和"=="的用法
范例一
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string str1="hello java";
string str2="hello java";
Console.WriteLine("str1.Equals(str2)-->{0}",str1.Equals(str2));
Console.WriteLine("str1==str2-->{0}",(str1==str2));
}
}
}
运行结果
str1.Equals(str2)-->True
str1==str2-->True
Press any key to continue
获取字符串范例
String类提供了Substring(int i)方法,获取变量i以后的子字符串,包括i本身。请看下面的范例
范例一:
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string str="zhong hua ren min gong he guo";
Console.WriteLine("原始字符串为-->{0}",str);
Console.WriteLine("获取第6个字符以后的字符串为-->{0}",str.Substring(6));
}
}
}
运行结果
原始字符串为-->zhong hua ren min gong he guo
获取第6个字符以后的字符串为-->hua ren min gong he guo
Press any key to continue
字符的删除,插入,与大小写的转换
范例一:在下面的范例中需要我们掌握的方法如下
1:TrimStart()
2:TrimEnd()
3:Remove()
4:Insert()
5:PadLeft()
6:PadRight
7:ToUpper()
8:ToLower()
9:Trim()
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string str1=" hello";
string str2="java ";
string str3=" hello java ";
Console.WriteLine("str1的原始字符串为{0}-->"+str1);
Console.WriteLine("使用TrimStart()方法将字符串{0}左边的空格删除后字符串为-->{1}",str1,str1.TrimStart());
Console.WriteLine("使用remove()方法删除第0个字符以后的3个字符后,str1的内容为-->{0}",str1.Remove(0,3));
Console.WriteLine("在str1的第6个字符中加入一个字符'*',后str1的内容为-->{0}",str1.Insert(6,"*"));
Console.WriteLine("在str1的左边加上二个‘+’符号后str1的内容为-->{0}",str1.PadLeft(8,'+'));
Console.WriteLine("在str1的右边加上二个‘+’符号后str1的内容为-->{0}",str1.PadRight(8,'+'));
Console.WriteLine("把str1的内容转换为大写后为-->{0}",str1.ToUpper());
Console.WriteLine("把str1的内容转换为小写后为-->{0}",str1.ToLower());
Console.WriteLine("_________________________________________________________");
Console.WriteLine("str2的原始字符串为-->{0}",str2);
Console.WriteLine("使用TrimEnd()方法将字符串{0}右边的空格删除后字符串为-->{1}",str2,str2.TrimEnd());
Console.WriteLine("使用remove()方法删除第2个字符以后的2个字符后,str1的内容为-->{0}",str2.Remove(2,3));
Console.WriteLine("在str2的第4个字符中加入一个字符'*',后str2的内容为-->{0}",str2.Insert(4,"*"));
Console.WriteLine("在str2的左边加上二个‘+’符号后str2的内容为-->{0}",str2.PadLeft(7,'+'));
Console.WriteLine("在str2的右边加上二个‘+’符号后str2的内容为-->{0}",str2.PadRight(7,'+'));
Console.WriteLine("把str2的内容转换为大写后为-->{0}",str2.ToUpper());
Console.WriteLine("把str2的内容转换为小写后为-->{0}",str2.ToLower());
Console.WriteLine("_________________________________________________________");
Console.WriteLine("str3的原始字符串为-->{0}",str3);
Console.WriteLine("使用Trim()方法将字符串{0}两边的空格删除后字符串为-->{1}",str3,str3.Trim());
Console.WriteLine("使用remove()方法删除第6个字符以后的3个字符后,str1的内容为-->{0}",str3.Remove(6,5));
Console.WriteLine("在str3的第1个字符中加入一个字符'*',在第12个字符中插入‘*’后str3的内容为-->");
Console.WriteLine(str3.Insert(1,"*").Insert(12,"*"));
Console.WriteLine("在str3的左边加上二个‘+’符号后str3的内容为-->{0}",str3.PadLeft(14,'+'));
Console.WriteLine("在str3的右边加上二个‘+’符号后str3的内容为-->{0}",str3.PadRight(14,'+'));
Console.WriteLine("把str3的内容转换为大写后为-->{0}",str3.ToUpper());
Console.WriteLine("把str3的内容转换为小写后为-->{0}",str3.ToLower());
}
}
}
运行结果
在str1的第6个字符中加入一个字符'*',后str1的内容为--> hello*
在str1的左边加上二个‘+’符号后str1的内容为-->++ hello
在str1的右边加上二个‘+’符号后str1的内容为--> hello++
把str1的内容转换为大写后为--> HELLO
把str1的内容转换为小写后为--> hello
_________________________________________________________
str2的原始字符串为-->java
使用TrimEnd()方法将字符串java 右边的空格删除后字符串为-->java
使用remove()方法删除第2个字符以后的2个字符后,str1的内容为-->ja
在str2的第4个字符中加入一个字符'*',后str2的内容为-->java*
在str2的左边加上二个‘+’符号后str2的内容为-->++java
在str2的右边加上二个‘+’符号后str2的内容为-->java ++
把str2的内容转换为大写后为-->JAVA
把str2的内容转换为小写后为-->java
_________________________________________________________
str3的原始字符串为--> hello java
使用Trim()方法将字符串 hello java 两边的空格删除后字符串为-->hello java
使用remove()方法删除第6个字符以后的3个字符后,str1的内容为--> hello
在str3的第1个字符中加入一个字符'*',在第12个字符中插入‘*’后str3的内容为-->
*hello java*
在str3的左边加上二个‘+’符号后str3的内容为-->++ hello java
在str3的右边加上二个‘+’符号后str3的内容为--> hello java ++
把str3的内容转换为大写后为--> HELLO JAVA
把str3的内容转换为小写后为--> hello java
Press any key to continue
Join()方法的用法范例
范例一:
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string [] str1={"I","am","a","student"};
Console.WriteLine("str1的原始内容为:");
for(int i=0;i<str1.Length;i++){
Console.Write(str1[i]+" ");
}
Console.WriteLine("\n以下是使用Join方法后输出的str1的内容:");
Console.WriteLine(string.Join(".",str1));
}
}
}
运行结果为
str1的原始内容为:
I am a student
以下是使用Join方法后输出的str1的内容:
I.am.a.student
Press any key to continue
Clone()方法的使用范例
范例一
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string str1="hello world";
Console.WriteLine("str1-->{0}",str1);
Console.WriteLine("使用Clone()方法创建一个和str1相同的字符串str2");
string str2=(string)str1.Clone();
Console.WriteLine("str2-->{0}",str2);
}
}
}
运行结果
str1-->hello world
使用Clone()方法创建一个和str1相同的字符串str2
str2-->hello world
Press any key to continue
CopyTo()方法的用法范例
范例一
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string str1="hello world";
char [] array=new char[str1.Length];
str1.CopyTo(0,array,0,str1.Length);
Console.WriteLine(str1);
}
}
}
StringBuilder类的用法范例
StringBuilder可以根据情况动态的调整大小,对于其它的我们在这里就不多说了,但是必须记住如果我们要使用StringBuilder,必须将using System.Text导出。下面请看一个 范例,如果掌握了这个范例里出现的方法,那么对于StringBuilder我们也就可以说能运用自如了。
范例一:
在这个范例中出现的方法为
1:Capacity
2:Length
3:Append()
4:Replace()
5:Insert()
6:Remove()
using System;
using System.Text;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
StringBuilder sb1=new StringBuilder();
Console.WriteLine("sb1的初始容量为:-->{0}",sb1.Capacity);
Console.WriteLine("sb1的初始长度为:-->{0}",sb1.Length);
sb1.Append("hello world");
Console.WriteLine("向sb1中添加后sb1的容量为:-->{0}",sb1.Capacity);
Console.WriteLine("向sb1中添加后sb1的长度为:-->{0}",sb1.Length);
sb1.Append(" hello C# zhong hua ren min gong he guo ");
Console.WriteLine("在次向sb1中添加后sb1的容量为:-->{0}",sb1.Capacity);
Console.WriteLine("在次向sb1中添加后sb1的长度为:-->{0}",sb1.Length);
StringBuilder sb2=new StringBuilder("I Love java",30);
Console.WriteLine("the original text of sb2 are:");
Console.WriteLine(sb2);
Console.WriteLine("使用replace方法将sb2中的java换成C#后内容为:");
Console.WriteLine(sb2.Replace("java","C#"));
Console.WriteLine("使用insert方法在sb2第七个字符中添加'java and '后sb2的内容为");
Console.WriteLine(sb2.Insert(7,"java and "));
Console.WriteLine("使用remove方法将sb2中第0个字符以后的6删除后sb2的内容为:");
Console.WriteLine(sb2.Remove(0,7));
}
}
}
运行结果
sb1的初始容量为:-->16
sb1的初始长度为:-->0
向sb1中添加后sb1的容量为:-->16
向sb1中添加后sb1的长度为:-->11
在次向sb1中添加后sb1的容量为:-->52
在次向sb1中添加后sb1的长度为:-->51
the original text of sb2 are:
I Love java
使用replace方法将sb2中的java换成C#后内容为:
I Love C#
使用insert方法在sb2第七个字符中添加'java and '后sb2的内容为
I Love java and C#
使用remove方法将sb2中第0个字符以后的6删除后sb2的内容为:
java and C#
Press any key to continue
正则表达式的用法范例
在使用正则表达式之前必须将using System.Text.RegularExpressions导出。下面我们就来通过范例来了解一下正则表达式的使用方法。
范例一
using System;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string test="aklsfhkasjlhasdasdfhjkalsfhkljasljkdfhkljasfdjkhasjk";
string match;
int count=0;
while(true){
Console.WriteLine("原始字符串为-->{0}",test);
Console.WriteLine("请输入要查找的字符");
match=Console.ReadLine();
Regex myregex=new Regex(@match);
MatchCollection mcl=myregex.Matches(test);
foreach(Match mymatch in mcl){
Console.WriteLine("{0}在第{1}个字符被发现!!",mymatch,mymatch.Index);
count++;
}
Console.WriteLine("{0}出现了{1}次",match,count);
count=0;
}
}
}
}
运行结果
原始字符串为-->aklsfhkasjlhasdasdfhjkalsfhkljasljkdfhkljasfdjkhasjk
请输入要查找的字符
a
a在第0个字符被发现!!
a在第7个字符被发现!!
a在第12个字符被发现!!
a在第15个字符被发现!!
a在第22个字符被发现!!
a在第30个字符被发现!!
a在第41个字符被发现!!
a在第48个字符被发现!!
a出现了8次
原始字符串为-->aklsfhkasjlhasdasdfhjkalsfhkljasljkdfhkljasfdjkhasjk
请输入要查找的字符
范例二
using System;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string str1="use java to write. a program";
Regex r=new Regex(@"(\.)");
string []result=r.Split(str1);
foreach(string s in result){
Console.WriteLine(s);
}
result=Regex.Split(str1,@"(\.)");
foreach(string s in result){
Console.WriteLine(s);
}
}
}
}
运行结果
use java to write
.
a program
use java to write
.
a program
Press any key to continue
范例三
using System;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
string test="java is a computer language,c# also is a computer language java is a poupular computer language";
Console.WriteLine("original text of test are:");
Console.WriteLine(test);
string str;
int count=0;
while(true){
Console.WriteLine("请输入你要查询的字符串 例如"+"java");
str=Console.ReadLine();
Regex r=new Regex(str);
MatchCollection mcl=r.Matches(test);
foreach(Match mymatch in mcl){
Console.WriteLine("{0}在第{1}个位置出现",mymatch,mymatch.Index);
count++;
}
Console.WriteLine("{0}出现了{1}次",str,count);
count=0;
if(str.Equals("break")) break;
}
}
}
}
运行结果
original text of test are:
java is a computer language,c# also is a computer language java is a poupular co
mputer language
请输入你要查询的字符串 例如java
computer
computer在第10个位置出现
computer在第41个位置出现
computer在第78个位置出现
computer出现了3次
请输入你要查询的字符串 例如java
break
break出现了0次
Press any key to continue
日期时间的格式化
范例一
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
DateTime dt=DateTime.Now;
Console.WriteLine("格式 d:{0:d},格式 D:{1:D}",dt,dt);
Console.WriteLine("格式 t:{0:t},格式 T:{1:T}",dt,dt);
Console.WriteLine("格式 f:{0:f},格式 F:{1:T}",dt,dt);
Console.WriteLine("格式 g:{0:g},格式 G:{1:G}",dt,dt);
Console.WriteLine("格式 m:{0:m},格式 M:{1:M}",dt,dt);
}
}
}
运行结果
格式 d:2007-3-20,格式 D:2007年3月20日
格式 t:19:13,格式 T:19:13:42
格式 f:2007年3月20日 19:13,格式 F:19:13:42
格式 g:2007-3-20 19:13,格式 G:2007-3-20 19:13:42
格式 m:3月20日,格式 M:3月20日
Press any key to continue
toString()方法范例
范例一
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
int a=20;
Console.WriteLine("a={0}",a);
Console.WriteLine("将a转换成string类型后a={0}",a.ToString());
double b=2.25;
Console.WriteLine("b={0}",b);
Console.WriteLine("将b转换成string类型后a={0}",b.ToString());
}
}
}
运行结果
a=20
将a转换成string类型后a=20
b=2.25
将b转换成string类型后a=2.25
Press any key to continue