c#字符串大小写转换
帮帮忙啊啊啊,如何变,新手作业,实在不会了 c# --------------------编程问答-------------------- 百度谷歌一堆,自己动手丰衣足食 --------------------编程问答-------------------- 就是将字符串的所有单词的首字母大写,现在会判定,大师大小写转换盒和在原文本流中改变大小写没有头绪啊 --------------------编程问答-------------------- 那个不合用啊,而且代码有点看不懂啊,新手 --------------------编程问答-------------------- string str="asc";str=str.ToUpper();//大写
str=str.ToLower();//小写 --------------------编程问答-------------------- 还是换个专业吧。。。 --------------------编程问答-------------------- http://msdn.microsoft.com/en-us/library/system.globalization.textinfo.totitlecase.aspx --------------------编程问答--------------------
string str = "Hello World!";
char[] chr = str.ToCharArray();
for (int i = 0; i < chr.GetLength(0); i++)
{
if (chr[i] >= 'A' && chr[i] <= 'Z') // 说明是大写
chr[i] += 32; // 将大写转化为小写
}
string result = new string(chr); // result = "hello world";
小写转大写思路类似,自己去写 --------------------编程问答--------------------
String words = "good job";--------------------编程问答-------------------- 上面的方法都不错啊 --------------------编程问答--------------------
Console.WriteLine(String.Join(" ", words.Split(' ').Select(x => x[0].ToString().ToUpper() + x.Substring(1))));
--------------------编程问答-------------------- 随便那本书讲字符串的章节都有这方面内容,楼主的学习态度要端正下。。 --------------------编程问答-------------------- 不好好象楼主想要实现文本中单词首字母大写!看来我上面发表错了!!为什么要在2楼才提需求呢!! --------------------编程问答--------------------
解决方法如同昆虫世界多姿多彩:
楼主你善于总结就会发现,小写与大写的二进制存在某种转换关系:
比如:
大写A 二进制:0100 0001
小写a 二进制:0110 0001
...
大写Z 二进制:0101 1010
小写z 二进制:0111 1010
可以发现个规律:大小写差别在于第6位的位值,也就是相差32;所以要把大写转换成小写,只需要把它第6位置1;小写转换成大写,把它置0,其他位保持不变;
得到两个掩码:
大写--〉小写 0010 0000
小写--〉大写 1101 1111
//////////////////////////////////
A: 0100 0001
or 0010 0000
-------------
a: 0110 0001
//////////////////////////////////
a: 0110 0001
and 1101 1111
-------------
A: 0100 0001
/////////////////////////////////
//转换成大写
static string ToUpper(string str)
{
string result = string.Empty;
for (int i = 0; i < str.Length; i++)
result += (char)(str[i] & 223);
return result;
}
//转换成小写
static string ToLower(string str)
{
string result = string.Empty;
for (int i = 0; i < str.Length; i++)
result += (char)(str[i] | 32);
return result;
}
版主这样的题让他做做吧
学到字符串的时候肯定学到了循环 自己动手丰衣足食
这些API还是以后工作在用吧 --------------------编程问答--------------------
string str = "HEllo world!";
char[] chr = str.ToCharArray();
for (int i = 0; i < chr.GetLength(0); i++)
{
if (chr[i] >= 'a' && chr[i] <= 'z') && (i == 0 || chr[i - 1] == ' ') // 当前字母是小写,并且前一个字符是空格或者没有前一个字符
chr[i] -= 32; // 将小写转化为大写
}
string result = new string(chr); // result = "HEllo World"; --------------------编程问答--------------------
当然,调用现成的方法也可以,但是作为作业题,估计这不行。 --------------------编程问答--------------------
斑竹太有才了 瞬间high了 --------------------编程问答-------------------- 作业一般是不能直接调用方法记得 --------------------编程问答-------------------- 瞬间感觉呗坑了 --------------------编程问答--------------------
" --------------------编程问答-------------------- tt=temp[1].value.ToString();这里 改为tt=temp[i].value.ToString();不小心写错了 --------------------编程问答-------------------- 网上也太多了,真不理解这么懒
string str="hello world too";
List temp;
string re="";
string tt="";
char u='';
foreach(string t in str.split()){temp.add(t);}
for (int i=0;i=temp.length();i++)
{
tt=temp[1].value.ToString();
u=(char)tt[1];
if(!(u>='A' && u<='Z')) u=u-32;
tt=tt.SubString(2,tt.length()-1);
tt=u.ToString()+tt;
re+=tt+" ";//re就是转换后的字符串
}
补充:.NET技术 , C#