源**翻譯工具基本完成了,只剩下最後問題:就是對字串進行替換時,怎麼無視原文的大小寫。因為c#裡的string.replace是不能無視大小寫的。首先想到的是正規表示式,在網上查了下,果然有用正規表示式配合一些邏輯運算,實現無視大小寫的字串替換方法。但是正規表示式的方法用起來很麻煩,實驗證明速度也不是最快。而我要說的是用起來最方便,執行速度也是最快的一種。就是使用microsoft.visualbasic命名空間裡的strings。
首先新增引用microsoft.visualbasic.dll
引入命名空間using microsoft.visualbasic;
使用replace方法,以下為引數:
strings.replace(原字串的內容,要替換的字段內容,替換後的字段內容,從第幾位開始替換(注意預設為1),替換的次數(-1表示所有),是否無視大小寫);
例: string str="aabbcc_aabbcc";
//將原字串中的第乙個bb替換為dd
str=strings.replace(str,"bb","dd",1,1,comparemetho d.binary);
列印結果:aaddcc_aabbcc
(comparemethod.binary的意思是用二進位制去找,由於大小寫字母的二進位制**顯然是不同的,所以是不無視大小寫的)
//將原字串中的所有bb替換為dd
str=strings.replace(str,"bb","dd",1,-1,comparemeth od.binary);
列印結果:aaddcc_aaddcc
//將原字串中的所有bb替換為dd,以無視大小寫的情況
str=strings.replace(str,"bb","dd",1,-1,comparemeth od.text);
列印結果:aaddcc_aaddcc
(comparemethod.text的意思是用文字去找,所以是無視大小寫的)
這種方法只需要把幾個重要的引數傳進去就可以了,使用非常方便。由於它的原理是先split(),再join(),所以速度非常快。比正規表示式的方法快了許多。
需要注意的是,replace不能替換空字串。例如
string str="";
這時如果你用strings.replace去替換的話,將返回null
str=strings.replace(str, "", "test", 1, -1, comparemethod.binary);
str==null為真
c 字串大小寫轉換
c 字串大小寫轉換 將字串轉換為大寫string類有乙個名為toupper的靜態方法。您可使用此方法將字串轉換為大寫。例如 string lower converted from lowercase console.writeline lower.toupper 將字串轉換為小寫tolower方法與...
c 字串大小寫轉換
將字串轉換為大寫string類有乙個名為toupper的靜態方法。您可使用此方法將字串轉換為大寫。例如 string lower converted from lowercase console.writeline lower.toupper 將字串轉換為小寫tolower方法與toupper方法相...
C 字串的大小寫
char define tolower char char a a define toupper char char a a char ms errno t strlwr s char str,size t numberofelements errno t strupr s char str,siz...