2019年1月31日 星期四

[Back To Basic] Javascript - String methods

常見的String處理方式

雖然string是 Primitive values,合理來說不能擁有property或method,但是javascript的特性之一,就是primitive values在執行property或method時,會被視為object。
  • length
取得字串長度
  • indexOf("比對的字串", 從第n個index的位置開始算)
由左往右開始比對,回傳"第一個符合的字串"的"第一個字元"的"index"(從0開始),沒有比對成功就回傳-1
  • lastIndexOf("比對的字串", 從第n個index的位置開始算)
由左往右開始比對,回傳"最後一個符合的字串"的"第一個字元"的"index"(從0開始),沒有比對成功就回傳-1
  • search("搜尋的文字")
可用正則表達式搜尋,但不像indexOf有第二個參數
  • 取出部分文字,共三個方法
    • slice(start, end)
      • 從字串中取出部分
      • 參數可負值(IE8以前不支援)
      • end值不給,就從start取到最後
    • substring(start, end)
      • 參數不可負值
      • 其他都跟slice()一樣
    • substr(start, length)
      • 第二個參數是要取出的長度
      • start可負值(IE8以前不支援)
      • end值不給,就從start取到最後
  • replace()
將特定文字代替成另一段文字
    • 預設只替代找到的第一段文字
    • 大小寫視為不同
    • 可配合正則表達式撰寫邏輯
  • 大小寫轉換
    • 變大寫: toUpperCase()
    • 變小寫: toLowerCase()
  • concat()
字串相連,用來取代 + 號的功能,如下,這兩行處理的結果相同
e.g.
var text = "Hello" + " " + "World!";
var text = "Hello".concat(" ", "World!");
  • trim()
將字串左右的所有空白移除,IE8以前不支援
IE8以前的做法: replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '')
  • 取出特定字元,共三個方法
    • charAt()
      • 取出特定位置的字元
      • 找不到值回傳""的空值
    • charCodeAt()
      • 取出特定位置的字元的unicode
    • 字串[索引值]
      • ECMAScript 5的語法,可以在字串上使用 [ ] 的符號
      • IE7以前不支援
      • 看起來很像陣列,但不是
      • 若找不到值會回傳undefined
      • 只能取值不能設值
  • split(特定的符號)
以特定的符號,將字串轉換成陣列

沒有留言:

張貼留言