JAvascript文字列メソッド:検索、切り取り、置換、大文字と小文字の変換、接続、スペースの除去、抽出、配列への変換

23889 ワード

今日は文字列の方法と属性を整理して、見やすいようにいくつかの部分に分けました.

検索文字列:


シーケンス番号
方法
説明
1
length
属性は文字列の長さを返します
2
indexOf()
属性は、文字列で指定したテキストが最初に表示されたインデックス(場所)を返します.
3
lastIndexOf()
プロパティは、文字列で指定したテキストが最後に表示されたインデックス(場所)を返します.
4
search()
属性は、文字列内の特定の値の文字列の最初のインデックス(場所)を返します.
一、length:文字列の長さ
属性は文字列の長さを返します
  var str = "abcdef"
  var strLen = str.length  // 6

二、indexOf():文字列中の文字列を検索する
属性は、文字列で指定したテキストが最初に表示されたインデックス(場所)を返します.
  var str = "abcdef"
  var strLen = str.indexOf('d')  // 3

三、lastIndexOf():文字列内の文字列を検索する
プロパティは、文字列で指定したテキストが最後に表示されたインデックス(場所)を返します.
  var str = "abcadef"
  var strLen = str.lastIndexOf('a')  // 3

注意:
  • テキストが見つからない場合、indexOf()およびlastIndexOf()は、いずれも-1
  • を返します.
  • の両方の方法は、検索開始位置としての2番目のパラメータ:
  • を受け入れる.
  • lastIndexOf()メソッドは後方(後方)に検索され、例の2番目のパラメータが6であれば、インデックスが6のところから文字列の始点まで前方検索が開始される.
  •   var str = "abcadef"
      var strLen = str.IndexOf('a', 2)  // 3
      var strLen2 = str.lastIndexOf('a', 6)  //3
    

    四、search():文字列の文字列を取得する
    プロパティは、文字列で指定した文字列の最初のインデックス(場所)を返します.
      var str = "abcdedf"
      var strLen = str.search('de')  // 3
    

    気づいたか?search()とindexOf()は同じで、その違いは:
  • search()メソッドでは、2番目の開始位置のパラメータ
  • を設定できません.
  • indexOf()メソッドでは、より強力な検索値(正規表現)を設定できません.

    切り取り文字列(一部の文字列を抽出):


    シーケンス番号
    方法
    説明
    1
    slice(start, end)
    文字列の一部を抽出し、新しい文字列に抽出された部分を返します.
    2
    substring(start, end)
    文字列の一部を抽出し、新しい文字列に抽出された部分を返します.
    3
    substr(start, length)
    文字列の一部を抽出し、新しい文字列に抽出された部分を返します.
    一、slice():文字列の一部を抽出し、新しい文字列に抽出された部分を返す
    slice(start, end)
    パラメータ:開始インデックス(開始位置)、終了インデックス(終了位置).
    切り取りの結果には開始位置が含まれ、終了位置は含まれません.
      var str = "abcdef"
      var strLen = str.slice(2,5) // cde
    

    パラメータが負の場合、文字列の末尾から計算されます.
      var str = "abcdefjhigk"
      var strLen = str.slice(-5,-2) // jhi
    

    2番目のパラメータを省略すると、先頭から文字列の末尾に切り抜きます
      var str = "abcdef"
      var strLen = str.slice(2) // cdef
      //     ,     
      var strLen2 = str.slice(-3) // def
    

    注意:負のパラメータはIE 8以前には使用できません
    二、substring():slice()に似ていて、負数インデックスを設定できないのとは違います
    substring(start, end)
    パラメータ:開始インデックス(開始位置)、終了インデックス(終了位置).
    切り取りの結果には開始位置が含まれ、終了位置は含まれません.
      var str = "abcdef"
      var strLen = str.substring(2,5) // cde
    

    2番目のパラメータを省略すると、先頭から文字列の末尾に切り抜きます
      var str = "abcdef"
      var strLen = str.substring(2) // cdef
    

    三、substr():slice()に似ており、2番目のパラメータが異なる
    substr(start, length)
    パラメータ:開始インデックス(開始位置)、抽出された部分の長さ
    切り取りの結果には開始位置が含まれます.
      var str = "abcdefjhigk"
      var strLen = str.substr(1,5) // bcdef
    

    2番目のパラメータを省略すると、先頭から文字列の末尾に切り抜きます
      var str = "abcdef"
      var strLen = str.substr(2) // cdef
    

    最初のパラメータが負の場合、文字列の最後から位置を計算します.
      var str = "abcdefjhigk"
      var strLen = str.substr(-2) // gk
    

    注:2番目のパラメータは長さを定義するため、負の数ではありません.

    文字列の内容を置換


    replace()メソッドは、呼び出された文字列を変更せず、新しい文字列を返します.
    ≪パラメータ|Parameters|oem_src≫:文字列内で置換されるテキスト、置換されるテキスト
    このメソッドのデフォルトでは、最初の一致のみが置き換えられます.
      var str = "hello world"
      var strx = str.replace("world","xiaomeizi") // hello xiaomeizi
    

    注:この方法は大文字と小文字に敏感なので、大文字の「WORLD」には一致しません.
    大文字と小文字の非敏感な置換を実行するには、正規表現:/i(大文字と小文字の非敏感)を使用する必要があります.
      var str = "HELLO world"
      //   :              
      var strx = str.replace(/hello/i,"xiaomeizi") // xiaomeizi world
      
    

    大文字と小文字に変換


    **toUpperCase():**文字列を大文字に変換
      var str = "hello world"
      var strx = str.toUpperCase() // HELLO WORLD
    

    **toLowerCase():**文字列を小文字に変換
      var str = "Hello World"
      var strx = str.toLowerCase() //hello world
    

    2つ以上の文字列を接続


    concat():2つ以上の文字列パラメータを接続します.1つ目のパラメータは何で接続されますか.2つ目は誰に接続されますか.このようにして複数のパラメータを接続できます.
      var str1 = "Hello"
      var str2 = "World"
      var str3 = "xxx"
      var strx = str1.concat(" ",str2) //Hello World
      var stry = str1.concat(" ",str2," 123 ",str3) //Hello World 123 xxx
    

    concat()メソッドは、加算演算子の代わりに使用できます.次の2行のコードは等価です.
      var strx = "Hello" + " " + "World" //Hello World
      var stry = "Hello".concat(" ","World") //Hello World
    

    注:すべての文字列のメソッドは、新しい文字列を返します.元の文字列は変更されません.正式には、文字列は可変ではありません.文字列は可変ではありません.文字列は変更できません.置換するしかありません.

    スペースの削除:文字列の両端の空白文字を削除


    trim()文字列の両端のスペースを削除
      var str1 = "           Hello World           " 
      var stry = str1.trim() //Hello World
    

    注意:IE 8以降ではtrim()メソッドはサポートされていません.

    文字列の抽出


    charAt(position):メソッドは、文字列で下付き(位置)を指定する文字列パラメータを返します.下付き(位置)を指定します.
      var str1 = "Hello World" 
      var stry = str1.charAt(0) //    H
    

    charCodeAt(position):メソッドは、文字列の下付き(位置)を指定する文字unicode符号化パラメータを返します.下付き(位置)を指定します.
      var str1 = "Hello World" 
      var stry = str1.charCodeAt(0) //    72
    

    属性アクセス

      var str1 = "Hello World" 
      var stry = str1[0] //    H
      //   :       
      str1[0] = "A"   //     ,    
    

    注意:プロパティ・アクセスを使用すると、あまり頼りにならないことがあります.
  • は、IE 7以降のバージョン
  • には適していません.
  • 文字列を配列のように見えます(実際にはそうではありません)
  • 文字が見つからない場合、[]はundefinedを返し、charAt()は空の文字列を返します.
  • 読み取り専用です.str[0]=「A」ではエラーは発生しませんが、実行しません.

  • 文字列を配列で処理するには、まず配列に変換します。


    split():文字列を配列に変換します.
      var str1 = "a,b,c,d,e,f" 
      var arr = str1.split(",") //      
      // var arr = str1.split(" ") //      
      // var arr = str1.split("|") //      
      arr[0]  //     a
      arr[0] = "H"    //       ,   arr[0]    H
    

    セパレータを無視すると、返される配列にはindex[0]の文字列全体が含まれます.セパレータが「」(空の文字列)の場合、返される配列ゾンビは単一の文字の配列を隔てます.
        <!DOCTYPE html>
    	<html>
    	<body>
    	
    		<h1>JavaScript      </h1>
    		
    		<p id="demo"></p>
    		<p id="demo2"></p>
    		
    		<script>
    		var str1 = "abcdef" 
    		var arr1 = str1.split() //      
    		var arr2 = str1.split("") //        
    		var text1 = "";
    		var text2 = "";
    		var i;
    		for (i = 0; i < arr1.length; i++) {
    		  text1 += arr1[i] + "
    "
    } document.getElementById("demo").innerHTML = text1; // abcdef for (i = 0; i < arr2.length; i++) { text2 += arr2[i] + "
    "
    } document.getElementById("demo2").innerHTML = text2; // demo2 : // a // b // c // d // e // f </script> </body> </html>