[英]How to escape from escape sequence in a string variable
我試圖將字符串變量初始化為文件之一的路徑。 它報告轉義序列無效。 有什么辦法嗎?
String s="F:\abc\xyz.txt";
將@Hank D和@Seige的評論轉換為答案:
在Java和C#中(很難說出您在這里使用的是哪種語言,但是很可能是這兩種語言之一),反斜杠字符\\
用於啟動轉義序列,您可以使用轉義序列在字符串中包括特殊字符, t通常在鍵盤上打字,否則會引起問題。 例如,您可以通過寫入\\n
在字符串中添加換行符:
String multiline = "This String\nSpans Multiple\nLines!";
您可以在\\U
序列中包括Unicode字符:
String heart = "I \U2764 Escape Sequences!";
您可以在\\"
序列中包含嵌套的引號:
String quotation = "Quoth the raven, \"Nevermore.\"";
在您的情況下,您試圖使用\\
字符作為路徑分隔符,但是Java / C#在解釋您試圖構建無效的轉義序列時正在做的事情。 也就是說,字符串
F:\abc\xyz.txt
被解釋為
F:(\a)bc(\x)yz.txt
要解決此問題,您可以使用以下事實:轉義序列\\\\
代表反斜杠,並編寫如下字符串:
String s = "F:\\abc\\xyz.txt";
有趣的事實:在Java / C#中選擇反斜杠作為路徑分隔符的原因是,在C中以這種方式選擇了反斜杠,因為該字符很少使用...然后DOS / Windows出現並破壞了所有內容。 :-)
或者,在C#中,您可以編寫
String s = @"F:\abc\xyz.txt";
@前綴禁用字符串中的轉義序列,這使事情更容易閱讀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.