利用工作的間隙, 昨天做了論壇裡的第二個題目,邊思考邊查詢,溫習了很多知識,還學習了很多優秀同學提交的作業,有兩個同學的作業印象最深。
題目如下:
印象最深的兩個作業,看懂它們還真是花了一番功夫的,不過也學到了挺多。
第乙個同學提交的作業,亮點在於靈活運用了split、join屬性,簡直太聰明了,而且封裝了函式,可重用性強。我比較喜歡在理解了別人的**之後,再乙個字乙個字敲下來,這樣也順便加深我的理解和記憶。第乙個同學的作業,下面是我乙個字乙個字敲下來的第乙個同學的作業:
還有一位同學的作用使用了正則以及replace()方法,做得也挺不錯的。
通過琢磨研究兩位同學提交的作業,溫習了許多舊知識,像字串和陣列間轉換的split()、join()方法,還有數字的排序sort()方法。另外還有正規表示式,replace()方法等等,比較深刻的就小結一下:
1.正規表示式:/g表示全域性匹配,/i表示忽略大小寫匹配,/s表示匹配空格,/d表示匹配數字,/n表示匹配換行符等,表示匹配中括號內任意乙個,()指的是乙個匹配子項,若干子項交集才是最終匹配項。
運用正則進行驗證的方法有:
reg.test(str);----返回true或者false;
str.search(reg);-----返回第乙個匹配的字母的下標位置或者-1;
str.match(reg);-----返回匹配的內容或者null;如果reg不加/g,那麼返回匹配結果及每個子項的集合。
另外還有,查詢替換的方法。str.replace(resouce,replacement);----第乙個引數可以是字串或者正規表示式,第二個引數可以是字串、函式或者特殊字元如$1等等。 用第二個引數替換第乙個引數。
2. replace()方法的第乙個引數可以是乙個正規表示式,第二個引數還可以是乙個函式,也可以是像$0、$1、$2、$3……這樣的特殊字元,這些特殊字元有著特殊的意義。
$0,指的是匹配成功後的整體結果(如果正則中含/g,那就是這次全域性匹配完成之後的整體結果,字串的形式)。
$1,匹配成功的第乙個子項分組(所謂子項,指的正規表示式中其中乙個匹配條件)。
$2,匹配成功的第二個子項分組
$3,依次類推,一直到$n。
c 的學習筆記之二
1.類中定義的靜態變數在編譯時沒有出錯,但是在鏈結時出現錯誤,原因是該靜態變數沒有初始化。class obj vectorobj vstr 這樣在別的地方就可以使用該靜態變數了,具體使用方法很簡單,只要obj vstr 即可。2.乙個類中宣告了乙個指標後,要記得初始化時將此指標賦為空值,在使用時先判...
SDL學習筆記之二
sdl su ce image sdl loadbmp image.bmp 2.從乙個表面,進行塊複製到另乙個表面 sdl blitsu ce int sdl blitsu ce sdl su ce src,sdl rect sr,sdl su e dst,sdl rect dr 第二個引數指定要傳...
SDL學習筆記之二
sdl su ce image sdl loadbmp image.bmp 2.從乙個表面,進行塊複製到另乙個表面 sdl blitsu ce int sdl blitsu ce sdl su ce src,sdl rect sr,sdl su e dst,sdl rect dr 第二個引數指定要傳...