某文件名为“.txt”,其中 可能由若干个英文单词组成。将此文件名改为“*.dat”,并且单词之间用下划线连接,例如: hello world.txt,改为hello_world.dat
class Program {
public static void Main(string[] srgs) {
string filename;
Console.WriteLine("请输入要修改文件后缀的文件:");
filename= Console.ReadLine();
int indexDot = filename.LastIndexOf('.');//从字符串的末尾开始寻找第一哥出现“.”的位置
string extendname = "dat";
filename = filename.Substring(0, indexDot + 1) + extendname;
string[] splitfilename = filename.Split(' ');
string joinfilename = string.Join("_", splitfilename);
Console.WriteLine("处理后得到的文件名:");
Console.WriteLine(joinfilename);
}
}
改题目涉及到字符串的处理函数
1.Substring
string substring = str1.Substring(int index, int n);//代表从str1字符串 下标为inedx的位置开始取n个字符得到str1的子串substring
2.LastIndexOf & IndexOf 返回值都是要查找的字符的下标
string str1 = " hello world ";
int indexDot = str1.LastIndexOf('o');//从字符串str1的末尾开始找寻第一次出现的字符'o' 并返回下标
Console.WriteLine(indexDot);
indexDot = str1.IndexOf('o');//从字符串str1的起始寻找第一次出现的字符‘o’,并返回下标
Console.WriteLine(indexDot);
输出的结果:
8
5
3 Split
string[] spiltstring=str1.Split(char c);//注意 分割字符串函数的返回值是多个字符串 因为为string[]类型
string[] splitstrig=str1.Split('l');//将字符串str1分割,分割的规则是--在字符'l'处分割
4 Join
string str1 = " hello world ";
string[] splitstring = str1.Split('l'); //分割后得到的结果为“ hel”,"l","o worl","d"???
string joinstring = string.Join("ld", splitstring);//用连接字符串的是字符串,并不是字符
Console.WriteLine(joinstring);
输出的结果:
heldldo worldd //注意分割得到的
5 Trim
//string str1 = " hello world ";
string str2 = " hello world ";
string Trimstring = str2.Trim(); //去除掉str2两端的空格
Console.WriteLine(Trimstring);
输出的结果
hello world
6 ToLower & ToUpper
string str3 = "hello world";
string upperstring = str3.ToUpper();
Console.WriteLine(upperstring);
string lowerstring = upperstring.ToLower();
Console.WriteLine(lowerstring);
输出结果:
HELLO WORLD
hello world
7 Equals
string str1 = " hello world ";
string str2 = " Hello World ";
string str3 = " hello world ";
if (str1.Equals(str2, StringComparison.OrdinalIgnoreCase) == true) { //StringComparison 是比较规则 比较的是str1&str2
Console.WriteLine("忽略大小写 两字符串相同");
}
if (str1.Equals(str3, StringComparison.Ordinal)== true) {
Console.WriteLine("两字符串相同");
}
输出结果
忽略大小写 两字符串相同
两字符串相同
8 Parse
string str1 = "100";
int val = int.Parse(str1);
Console.WriteLine(val);
输出结果
100
9 ToString
int i = int.Parse("12");
string str = i.ToString();
Console.WriteLine(str);
输出结果
12 //此处是字符串