字元串方法整理

来源:https://www.cnblogs.com/macq/archive/2018/01/18/8308386.html
-Advertisement-
Play Games

字元串方法字元串切割slicestrObj.slice(start[,end])參數為負,將它作為length+end處理,此處length為字元串的長度。 str.slice( 2)可以取字元串後兩位substringstrObj.substring(start[,end])  ...


字元串方法
  • 字元串切割
    • slice
      • strObj.slice(start[,end])
      • 參數為負,將它作為length+end處理,此處length為字元串的長度。 
      • str.slice(-2)可以取字元串後兩位
    • substring
      • strObj.substring(start[,end])
      •  substring方法使用start和end兩者中的較小值作為子字元串的起始點
      • 如果start或end為NaN或者為負數,那麼將其替換為0。 
      • 兩個參數不確定是起始位置還是結束位置時使用
    • substr
      • strObj.substr(start[,length])
      • 如果start為負,將它作為length+start處理,此處length為字元串的長度。
      • 返回一個從指定位置開始的指定長度的子字元串。 
      • str.substr(-2)可以取字元串後兩位
  • 字元串分割(字元串轉數組)
    • split
      • strObj.split([separator[,limit]]) 
      • separator字元串或 正則表達式 對象,它標識了分隔字元串時使用的是一個還是多個字元。如果忽略該選項,返回包含整個字元串的單一元素數組。 
      • limit該值用來限制返回數組中的元素個數。
      • var str = "AA BB CC DD EE FF";
      • alert(str.split(" ",3));
      • 結果:
      • AA,BB,CC
  • 子串識別
    註意:如果向 startsWith() 、 endsWith() 或 includes() 方法傳入了正則表達式而不是字元串,會拋出錯誤。而對於indexOf()和lastIndexOf()這兩個方法,它們會將正則表達式轉換為字元串並搜索它若需要找到它們在字元串中的確切位置,則需要使用 indexOf() 和 lastIndexOf() 。
    • includes (es6)
      • 該方法在給定文本存在於字元串中的任意位置時會返回 true ,否則返回false。
      • 接受兩個參數:需要搜索的文本,以及可選的搜索起始位置索引
    • startsWith (es6)
      • 該方法在給定文本出現在字元串起始處時返回 true ,否則返回 false
      • 接受兩個參數:需要搜索的文本,以及可選的搜索起始位置索引
    • endsWith (es6)
      • 該方法在給定文本出現在字元串結尾處時返回 true ,否則返回 false 
      • 接受兩個參數:需要搜索的文本,以及可選的搜索起始位置索引
    • indexOf
      • strObj.indexOf(substr[,startIndex]) 
      • 返回String對象內第一次出現子字元串位置。沒有找到子字元串,則返回-1。 
      • var str = "ABCDECDFG";
      • str.indexOf("CD",1); // 由1位置從左向右查找 12,23...
      • 結果:2
    • lastIndexOf
      • strObj.lastIndexOf(substr[,startindex]) 
      • 返回String對象中字元串最後出現的位置。沒有找到子字元串,則返回-1。 
      • var str = "ABCDECDFG";
      • str.lastIndexOf("CD",7); // 由7位置從右向左查找 67, 56...
      • 結果:5
    • search
      • 參數為字元串或者正則表達式
      • 返回匹配的第一個字元串的位置(就算是帶g全局標誌也是返回匹配的第一個字元串的位置)
  • 字元串重覆
    • repeat(es6)
      • 接受一個參數作為字元串的重覆次數,返回一個將初始字元串重覆指定次數的新字元串
      • 參數如果是小數,會被取整(向下取整,等同floor)
        console.log('na'.repeat(2.9)); // "nana"
      • 如果repeat的參數是負數或者Infinity,會報錯
        //Uncaught RangeError: Invalid count value
        console.log('na'.repeat(Infinity));
        //Uncaught RangeError: Invalid count value
        console.log('na'.repeat(-1));
      • 如果參數是0到-1之間的小數,則等同於0,這是因為會先進行取整運算。0到-1之間的小數,取整以後等於-0,repeat視同為0
        console.log('na'.repeat(-0.9)); // ""
      • 參數NaN等同於0
        console.log('na'.repeat(NaN)); // ""
      • 如果repeat的參數是字元串,則會先轉換成數字
        console.log('na'.repeat('na')); // ""
        console.log('na'.repeat('3')); // "nanana"
      • 應用:縮進級別
  • 字元串補全
    • padStart(es8)和padEnd(es8)
      • 接受兩個參數,第一個參數用來指定字元串的最小長度,第二個參數是用來補全的字元串
        'x'.padStart(5, 'ab') // 'ababx'
        'x'.padStart(4, 'ab') // 'abax'

        'x'.padEnd(5, 'ab') // 'xabab'
        'x'.padEnd(4, 'ab') // 'xaba'
      • 如果省略第二個參數,預設使用空格補全長度
        'x'.padStart(4) // ' x'
        'x'.padEnd(4) // 'x '
      • 如果原字元串的長度,等於或大於指定的最小長度,則返回原字元串
        'xxx'.padStart(2, 'ab') // 'xxx'
        'xxx'.padEnd(2, 'ab') // 'xxx'
      • 如果用來補全的字元串與原字元串,兩者的長度之和超過了指定的最小長度,則會截去超出位數的補全字元串
        'abc'.padStart(10, '0123456789')// '0123456abc'
      • 應用
        • 補全指定位數
          '1'.padStart(10, '0') // "0000000001"
          '12'.padStart(10, '0') // "0000000012"
          '123456'.padStart(10, '0') // "0000123456"
        • 提示字元串格式
          '12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"
          '09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12"


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 〓資料庫的分類〓 資料庫通常分為層次式資料庫、網路式資料庫和關係式資料庫三種。而不同的資料庫是按不同的數據結構來聯繫和組織的。 而在當今的互聯網中,最常見的資料庫模型主要是兩種,即關係型資料庫和非關係型資料庫。 資料庫分類 〓關係型資料庫介紹〓 1、關係型資料庫的由來 雖然網狀資料庫和層次資料庫已經 ...
  • 【轉】Android總結篇系列:Activity生命周期 Android官方文檔和其他不少資料都對Activity生命周期進行了詳細介紹,在結合資料和項目開發過程中遇到的問題,本文將對Activity生命周期進行一次總結。 Activity是由Activity棧進管理,當來到一個新的Activity ...
  • 尊重勞動成果,轉載請標明出處:http://www.cnblogs.com/tangZH/p/8305063.html 我們在自定義view的時候有時候需要給組件一個背景,而這個背景可能是不規則的,比如一個紅色背景,但是左邊有圓角,右邊沒有,那麼應該怎麼做呢?在這裡我以textView為例。 用xm ...
  • 1、讀取通信錄 1)、9.0以前 2)、9.0以後 2、調用通信錄UI 1)、9.0以前 2)、9.0以後 3、參考 0、寫在前面 plist 需要設置隱私許可權 Privacy - Contacts Usage Description : 請求訪問通訊錄(自定義) 1、讀取通信錄 1)、9.0以前 ...
  • 首先必須使用釘釘開發版,並確保已經通過此鏈接打開了調試功能: https://open-doc.dingtalk.com/docs/doc.htm?spm=5176.10694750.0.0.3tPHed&treeId=171&articleId=104908&docType=1 如果出現點擊Ins ...
  • 小程式的二維碼,是靜態的,在公眾號里傳播的時候,效果不太好,但是因為小程式的logo 很大,可以容納很多的內容,所以就希望中間的部分可以動態顯示。 經過我們的驗證,是可行的,來幾張效果圖 1. 二次元小程式碼,將一些搞小的gif動畫放在小程式碼里,非常適合在二次元的世界里傳播 2. 游戲小程式碼 , ...
  • 1.首先進入蘋果官網 找到support https://support.apple.com 2.找到查詢ipad型號的地方 點擊Check coverage for your product 3.輸入你的ipad序列號,序列號在ipad上 通用 >關於本機 >序列號 ...
  • 一,Jenkins http://jenkins-ci.org 二,iOS單元測試的持續集成 在Xcode進入OCUnit作為單元測試框架前,把單元測試分為兩種:Logic Test和Application Test.Logic Test負責測試邏輯部分,一般邏輯部分是沒有UI的。 Applicat ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...