C# 字符串大小写混合转换(同时进行)
生活随笔
收集整理的這篇文章主要介紹了
C# 字符串大小写混合转换(同时进行)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一般的大小寫轉(zhuǎn)換比較常用String自帶的方法。ToUpper()|ToLower()。有一種特殊情況下,就是給你個字符串。如String="aSd$";要求a~A 、S~s、d~D、$符號不變。
查閱了資料,別人說有三種方式。我只找到了兩種。
- 一:預定義大小寫字符數(shù)組
(1):預定義字符串存儲26個字母的大小寫。順序?qū)M量一致
private static char[] up = { 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', 'Z', 'X', 'C', 'V', 'B', 'N', 'M' };private static char[] lower = { 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm' };(2):寫方法來逐一判斷每一個字符串中的元素
public static string GetResult(string str) {StringBuilder sb=new StringBuilder();//用于存儲改變后的字符串 StringBuilder具有高效性for(int i=0;i<str.Length;i++){int bol=Array.Indexof(up,str[i]);//檢查str中第一個元素是否是大寫。這里也可以自己先判斷是否為小寫。if(bol==-1)//兩種情況 1:小寫元素 2:其他元素 {int bol2=Array.IndexOf(lower,str[i]);//此時檢查是否為小寫if(bol2==-1)//說明是其他元素 {sb.Append(str[i]);//原封不動的添加即可continue;//然后開始下一個元素的匹配 } else//是小寫元素 那么久添加對應的大寫元素 {sb.Append(up[bol2]);}} else //存在與之對應的大寫元素 添加為小寫元素 {sb.Append(lower[bol]);} }return sb.ToString(); }為了加深印象。手打的
之后在調(diào)用這個方法就可以了。
- 二:利用Ascall碼來比較
??
string str = "aSd$";//轉(zhuǎn)換為數(shù)組 才可以進行修改char[] c = str.ToCharArray();//存儲轉(zhuǎn)化之后的字符StringBuilder sb = new StringBuilder();for (int i = 0; i < str.Length; i++){//利用ascallif (c[i] >= 'a' && c[i] <= 'z')//判斷是否為小寫 {c[i] = (char)(c[i] - 32);//是的話 就轉(zhuǎn)變?yōu)榇髮?/span> }else if (c[i] >= 'A' && c[i] <= 'Z'){c[i] = (char)(c[i] + 32);}else{c[i] = c[i];//其他元素 不改變 }sb.Append(c[i]);//添加元素 }Console.WriteLine(str);?Console.WriteLine(sb.ToString());
? ? ? ? ? ? ? Console.ReadKey();
大小寫相差32 可以看看這個連接。
https://blog.csdn.net/u011930916/article/details/79623922
轉(zhuǎn)載于:https://www.cnblogs.com/Audient/p/10991620.html
總結(jié)
以上是生活随笔為你收集整理的C# 字符串大小写混合转换(同时进行)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 方法入门
- 下一篇: 牛客假日团队赛1 B