C#字符串⼤写转⼩写,⼩写转⼤写,数字保留,其他除外⼜是⼀道⾯试题,我只想到两种⽅式:
第⼀种:循环字符串,判断每个字符串的类型,再根据类型对该字符进⾏操作(转⼤写、转⼩写、不变或舍弃)
static void Main(string[] args)
{
//⼤写转⼩写,⼩写转⼤写,数字保留,其他除外
string str = "Aa Bb 123!@#";    //测试字符串
string newStr = string.Empty;    //⽤于存放新字符串
//循环字符串
foreach (char item in str)
{
if (item >= 'a' && item <= 'z')
{
//⼩写字母转⼤写
newStr += item.ToString().ToUpper();
}
else if (item >= 'A' && item <= 'Z')
{
//⼤写字母转⼩写
newStr += item.ToString().ToLower();
}
else if (item >= '0' && item <= '9')
{
/
/数字不变
newStr += item.ToString();
}
}
字符串函数中将大写转换为小写
//打印
System.Console.WriteLine(newStr);
System.Console.ReadLine();
}
第⼆种:将字符串转为byte[],循环byte[],使⽤ASCII码进⾏判断
static void Main(string[] args)
{
/
/⼤写转⼩写,⼩写转⼤写,数字保留,其他除外
string str = "Aa Bb 123!@#";    //测试字符串
string newStr = string.Empty;    //⽤于存放新字符串
//字符串-->byte[]
ASCIIEncoding ascii = new ASCIIEncoding();
byte[] bytes = ascii.GetBytes(str);
//循环byte[]
foreach (byte item in bytes)
{
//临时存放
byte[] temp = new byte[] { item };
if (item >= 97 && item <= 122)
{
//⼩写字母转⼤写
newStr += ascii.GetString(temp).ToUpper();
}
else if (item >= 65 && item <= 90)
{
//⼤写字母转⼩写
newStr += ascii.GetString(temp).ToLower();
}
else if (item >= 48 && item <= 57)
{
//数字不变
newStr += ascii.GetString(temp);
}
}
//打印
System.Console.WriteLine(newStr);
System.Console.ReadLine();
}
备注:数字,字母的ASCII码对照表
/*
0~9数字对应⼗进制48-57
a~z字母对应的⼗进制97-122⼗六进制61-7A
A~Z字母对应的⼗进制65-90⼗六进制41-5A
*/
结果打印:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。