2009年10月30日 星期五

取某個字元之前的字串

假設有個字串是:0.10#p1
我現在想要取得的是#字符號之前的0.10
可能一開始就會想到使用 substring( ) 這函式。
但是要使用這個函式,必須先知道 # 字符號所在的索引位置,
並推算出在此之前的字串長度是多少,才能正確取得 # 字符號之前的字串。
雖然不難,但卻顯得有點令人覺得繁瑣。

剛好,是懶惰救了我。
推薦一個不錯的寫法:

string str="0.10#p1";
str.split('#')[0];    //---- >  這一行就會回傳 # 字符號之前的字串  0.10
str.split('#')[1];    //----->  延伸一下,這一行,就會回傳# 字符號之後的字串 p1

他的原理,是先透過 split 函式,將 # 字符號當作是切割點,將字串轉換成陣列,而[0]指的,則是陣列的第一個元素,也正好是我們所需要的結果。如此一來,程式就簡潔許多了。

沒有留言:

張貼留言