应用技术:
- Substring (,) //截取字符串
- 判断字符串开始\ 结尾(StartsWith\ EndsWith)
- 找字符串的索引(indexof)
- 寻找最后一个字符串索引方法 (LastIndexOf)
- 字符串更换方法 (Insert)
- 加入字符串 (Join)
- 字符串移出方法:IsNullOrEmpt()
- 附加:切掉前后空格办法:Trim
一:寻找字符串索引并截取(Substring ( , ))
string str="哈哈,我们又变帅了";
str=str.Substring(2,3); //截取字符串:从第三个开始截取三个字符串,前面两个去掉了
//如果两个数超过本来原有的数,则会报错。
Console.WriteLine(str);
Console.ReadKey();
训练:截取路径中最后一个
方法一:
string path = @"E:\我的应用数据\计算机项目\软件工程项目之CS学习\02 C#\字符串\字符串.sln";
char[] chs = new char[] { '\\' };
string[] str = path.Split(chs);
Console.WriteLine(str[str.Length-1]);
Console.ReadKey();
方法二:substring
string path = @"E:\我的应用数据\计算机项目\软件工程项目之CS学习\02 C#\字符串\字符串.sln";
string str = path.Substring(path.Length - 7); //方法一:从后面去7位,则显示字符串.sln
Console.WriteLine(str );
Console.ReadKey();
二:判断字符串是否 以这个字符串开始\结尾的(StartsWith\ EndsWith)
string str = "大白很纯洁";
bool result = str.StartsWith("大白");//判断字符串是否以这个字符串开始的。
//bool result = str.EndsWith ("纯洁");//判断字符串是否以这个字符串结尾的。
if (result )
{
Console.WriteLine("有这个字符串");
}
else
{
Console.WriteLine("没有这个字符串");
}
Console.ReadKey();
三:找字符串的索引(indexof)
string str = "大白很纯洁";
int index= str.IndexOf("纯");//如果这个字符串在这个字符串中,那么就会把这个字符串的索引显示出来,那么,如果找不到这个字符串返回的结果是-1
Console.WriteLine(index);
Console.ReadKey();
//结果显示:3
方法2:
string str = "adsfadfadfa";
// int index= str.IndexOf("纯");//如果这个字符串在这个字符串中,那么就会把这个字符串的索引显示出来,那么,如果找不到这个字符串返回的结果是-1
int index = str.IndexOf("a", 6);//找一个字符串,从某个索引开始找,找到了就返回索引,找不到就返回-1.
Console.WriteLine(index);
Console.ReadKey();
//结果显示7
四:寻找最后一个字符串索引方法 (LastIndexOf)
string str = "哈哈,真的很坏,啊- 啊-8 啊-快递垃圾费金额及-";
int index = str.LastIndexOf("-");//找最后一个本字符串的索引
Console.WriteLine(index);
Console.ReadKey();
//显示结果:25
五:字符串更换方法 (Insert)
string st = "哈啊,我有偶变帅了";
st = st.Insert(5, "又");
Console.WriteLine(st);
Console.ReadKey();
练习:字符串相反顺序输出:for循环
//接收用户字符串,将其字符以输入相反的顺序输出。“abc"→"cba"
Console.WriteLine("输入内容");
string text = Console.ReadLine();
for (int i = text.Length -1 ; i >=0; i--)
{
Console.Write(text[i]);
}
Console.ReadKey();
练习:接收用户输入的一句英文,将其中的单词以反序输出
Console.WriteLine("输入一句话");
string text = Console.ReadLine();
string[] strs = text.Split(' ');
string st = "";
for (int i = strs.Length -1; i >=1; i--)
{
st += strs[i] + "";
}
Console.WriteLine(st + strs[0]);
Console.ReadKey();
练习题三:从email中提取用户和域名: split
string email = "abc@163.com";
string[] sts = email.Split('@');
Console.WriteLine("用户名是{0}", sts[0]);
Console.WriteLine("域名是{0}", sts[1]);
Console.ReadKey();
六:加入字符串 (Join)
//把{"诸葛亮","鸟叔","卡卡西","卡哇伊"} 变成诸葛亮|鸟叔|卡卡西|卡哇伊,然后把|切割掉
string []names={"诸葛亮" ,"老苏 ","卡卡西"};
string st = string.Join("->", names);
Console.WriteLine(st);
Console.ReadKey();
七:字符串移出方法:IsNullOrEmpt()
//用于判断是否存在
string str = null;
bool result = string.IsNullOrEmpty(str);
if (result )
{
Console.WriteLine("有东西");
}
else
{
Console.WriteLine("你猜");
}
Console.ReadKey();
//空白时候显示:有东西
直接移出多少个:
string text = "老白很邪恶";
text = text.Remove(2, 3); //从第二个往后开始移出,移出三个。
Console.WriteLine(text);
Console.ReadKey();
//显示:老白
附加:切掉前后空格办法:Trim
string name="ybb@itcast.cn";
name=name.Trim();
Console.Write(name);
Console.ReadKey();
练习:找出所有E的位置 index+ while循环
//让用户输入一句话,找出所有e的位置
string st = "adfasdfjlieuifjadsjf3ewer";
int count = 0;
int index = st.IndexOf("e");
while (index!=-1)
{
count++;
Console.WriteLine("第{0}个e的索引为{1}",count,index);
index= st.IndexOf("e",index +1);
}
Console.WriteLine();
Console.ReadKey();