我嘗試在字符串中找到「\ n」。我的代碼在這裏不起作用。什麼是正確的方法?謝謝如何在字符串中找到「 n」?
string text = "hello\nworld";
for(int i=1; i<text.Length ;i++)
{
if
(
text[i-1]== '\\'
&&
text[i]== 'n'
)
{
Debug.Log("break at: "+i);
}
}
我嘗試在字符串中找到「\ n」。我的代碼在這裏不起作用。什麼是正確的方法?謝謝如何在字符串中找到「 n」?
string text = "hello\nworld";
for(int i=1; i<text.Length ;i++)
{
if
(
text[i-1]== '\\'
&&
text[i]== 'n'
)
{
Debug.Log("break at: "+i);
}
}
\n
是不是兩個字符。它是「換行」值的兩個字符表示(請參閱任何ASCII圖表上的10的值)。如果你想找到的人物造型,你需要在單個字符使用兩個符號像'\n'
感謝.. – cubecube
請參閱[C#語言規範](http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf)中的「9.4.4.4字符文字」。它表示'\ n'是[U + 000A LINE FEED(LF)]的轉義序列(http://www.fileformat.info/info/unicode/char/000A/index.htm)。提到ASCII是誤導性的。 .NET(以及Java,JavaScript,HTML,XML,... NCHAR,NVARCHAR,...)使用[Unicode]的UTF-16編碼(http://www.unicode.org/charts/nameslist/index.html)。 –
正確地說'\ n'是一個字符,代表換行。這意味着,斜槓是轉義鍵,例如用於表示特殊的空白字符(As \ n是一個)。如果你想尋找它,你因此必須尋找其作爲單個字符:
var text = "hello\nworld";
for (var i = 0; i < text.Length; i++)
if(text[i] == '\n')
Debug.Log($"break at: {i}");
\ n是一個換行符,通常是由CRLF表示相信,所以你需要尋找CHAR(13) ,char(10),或者它可能只是char(10),認爲\ r \ n是crlf – Charleh
@Charleh \ n只代表LF,\ r是CR –
是啊剛剛意識到:)更新了我的評論 – Charleh