我有一個字符串變量,基本上保存相應的值英文字的形式爲中文。如何獲得Unicode字符串中的任何字符的索引
String temp = "'%1'不能輸入步驟'%2'";
但是,當我想用的IndexOf功能
if(temp.IndexOf("%1") != -1)
{
}
即使它包含%1,我沒有得到真正瞭解其閹%1與否的字符串。
所以有什麼問題,由於中國章程或任何其他事情。
請教我怎樣才能得到上述情況下的任何特許指數。
我有一個字符串變量,基本上保存相應的值英文字的形式爲中文。如何獲得Unicode字符串中的任何字符的索引
String temp = "'%1'不能輸入步驟'%2'";
但是,當我想用的IndexOf功能
if(temp.IndexOf("%1") != -1)
{
}
即使它包含%1,我沒有得到真正瞭解其閹%1與否的字符串。
所以有什麼問題,由於中國章程或任何其他事情。
請教我怎樣才能得到上述情況下的任何特許指數。
那是因爲%1
不等於%1
你想在這種情況下,解決辦法做的是選擇的符號串出的你有一個像
var s = "'%1'不能輸入步驟'%2'";
var firstFragment = s.Substring(1, 2); // this should select you %1
,然後做
if(temp.IndexOf(first) != -1){
}
我無法在不同的文化中匹配%字符串。 –
評論給出了答案。使用相同的百分比字符,所以不是:
"%1"
使用:
"%1"
或者,如果你發現有問題(你的源代碼是一個「差」的代碼頁,或者你害怕代碼是硬時,它包含類似於ASCII字符全角字符)來讀取,使用:
"\uFF051"
甚至:
"\uFF05" + "1"
(連接將由C#編譯器完成,在運行時不會進行額外的連接)。
另一種方法可能是Unicode範式:
temp = temp.Normalize(NormalizationForm.FormKC);
這似乎是工程中的「異國情調」百分比焦炭引入通常的ASCII%的焦炭,雖然我不知道,如果該行爲保證,但請參閱Unicode Character 'FULLWIDTH PERCENT SIGN' (U+FF05)上的Decomposition
字段。
temp.Normalize不適合我。 我無法在不同的文化中匹配%字符串 –
'%'(全角百分比)與'%'(常規百分號)不一樣,所以這可能是一個問題。 –
['%'](http://www.decodeunicode.org/u+FF05)!= ['%'](http://www.decodeunicode.org/u+0025) - 它們是不同的字符 – Sayse
I我無法匹配不同文化中的字符串 –