[英]find indexof single character in string c#
我對此代碼感到困惑。
string str = sample.indexof("a",0);
工作正常 但是下面不起作用。
string str = sample.indexof("\",0);
您需要在C#中的字符串和字符文字中使用反斜杠轉義-或使用逐字字符串文字。 以下任何一項均可使用:
int index = sample.IndexOf("\\", 0);
int index = sample.IndexOf(@"\", 0);
int index = sample.IndexOf('\\', 0);
或者,如果您始終從頭開始查找,則無需指定初始索引:
int index = sample.IndexOf("\\");
int index = sample.IndexOf(@"\");
int index = sample.IndexOf('\\');
就個人而言,如果您只尋找一個字符,我會使用其中的最后一個字符-更清楚的是,它確實是一個字符。 (它可能也有一點點效率,但是清晰度更重要。)
(請注意,C#區分大小寫-它是IndexOf
而不是indexof
。還請注意,它返回int
,而不是string
。如果可以使示例代碼准確無誤,則有幫助。)
因為\\是轉義序列字符,您可以嘗試以下選項之一來工作
int i = sample.indexof("\\",0)
要么
int i = sample.IndexOf(@"\", 0);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.