如何連接字符串"\u"
和"a string"
以獲得「\ u0000」?如何用另一個字符串連接字符串和反斜槓
我的代碼創建了兩個反斜線:
string a = @"\u" + "0000"; //ends up being "\\\u0000";
如何連接字符串"\u"
和"a string"
以獲得「\ u0000」?如何用另一個字符串連接字符串和反斜槓
我的代碼創建了兩個反斜線:
string a = @"\u" + "0000"; //ends up being "\\\u0000";
線下創建拖反斜線:
string a = @"\u" + "0000"; //a ends up being "\\u0000";
不,它不支持;調試器顯示「\」爲「\」,因爲這就是您在C#中編寫反斜槓的方式(當您不在@前面加字符串時)。如果您打印該字符串,您將看到\u0000
,而不是\\u0000
。
不,那個字符串真的有單個反斜槓。打印到控制檯,你會看到。
轉義序列\uXXXX
是語言語法的一部分,表示一個Unicode字符。相比之下,@"\u"
和"0000"
是兩個不同的字符串,總共有六個字符。連接它們不會奇蹟般地將它們變成單個Unicode轉義。 如果你想一個Unicode代碼點轉換爲單字符字符串,這樣做:
char.ConvertFromUtf32(strUnicodeOfMiddleChar).ToString()
BTW,不要使用== true
;這是多餘的。
所以你的支票變成:if(code2.StartsWith (char.ConvertFromUtf32(0000))){/ * Your action * /} – Wolfwyrd
如果我理解正確,我認爲你想從一個任意的Unicode值(4個十六進制數字)構建一個單一字符串。所以給定字符串「0000」,你想把它轉換成字符串「\ u0000」,即包含單個字符的字符串。
我想這是你想要什麼:
string f = "0000"; // Or whatever
int n = int.Parse(f, NumberStyles.AllowHexSpecifier);
string s = ((char) n).ToString();
結果字符串s
是"\u0000"
,然後你就可以使用您的搜索。
(含修正由Thomas Levesque的建議。)
我認爲你的意思是int.Parse,而不是string.Parse ... –
謝謝大衛。它工作正常。 – Mohsen
Escape你的角色正確!
兩個:
// I am an escaped '\'.
string a = "\\u" + "0000";
和:
// I am a literal string.
string a = @"\u" + "0000";
會工作得很好。但是,在這裏,我正在走出一條肢體,我猜你試圖逃避一個Unicode字符和十六進制值,所以,你需要:
// I am an escaped Unicode Sequence with a Hex value.
char a = '\uxxxx';
你使用什麼語言? – Josh
我正在使用c#語言 – Mohsen
我想在另一個字符串中搜索sting:if(code2.StartsWith(@「\ u」+ strUnicodeOfMiddleChar)== true) – Mohsen