C#筆記-02:有關字串中查詢字元兩種方式————IndexOf和LastIndexOf的細微區別
阿新 • • 發佈:2020-10-13
首先,先說說這兩種查護照方式的基本特點。
IndexOf()是查詢某個字元首次出現的位置,查詢順序是從左到右。
LastIndexOf()是查詢某個字元最後出現的位置,查詢順序是從右到左。
兩者在查詢時,字串中字元下標都是從0開始,從左往右遞增的。
接下來我要說說,今天在解決開發時遇到的一個小問題時瞭解到的一個小知識。
直接說結論:當查詢的字串帶 “ . ” 時,在確定要查詢的字元後,若與substring配合使用,在擷取檔名時,使用IndexOf會將 “ . ”後的字元包括字尾名一併擷取。 而使用LastIndexOf()時,會自動忽略“ . ”後的字元。
示例:對檔名str進行操作(注意是檔名,從檔名稱提取出的檔名,不是字串,以下是為了方便才這樣寫的)
string str = “Test_V1.1.txt”; string output1 = Substring(str.IndexOf("V"));//擷取第一個V後面的字元 string output2 = Substring(str.LastIndexOf("V"));//擷取最後一個V後面的字元
結果:
output1為V1.1.txt
output2為V1
這個細微的差別在有時候還是要多注意,不然也會造成一些小煩惱。。。