第11章 文字の処理
この章では JavaScript で文字の処理について説明します。
homepage
# **文字列の処理** *** **・** 文字列はダブルクォーテーション(")またはシングルクォーテーション(')で囲んで表現されるもの。 ``` xx = "ABCDEFG"; yy = 'ABCDEFG'; ``` **・** 文字列は ```String``` オブジェクトを直接利用して構築することもできます。 ``` var num = 123; String(num); // "123" ``` **・** ```String```オブジェクトは文字列の操作を提供するオブジェクトです。 ``` xx = "ABCDEFG"; yy = xx.toLowerCase();//"abcdefg" ``` <br><br> ## **1.文字を抜き出す** **(1)文字列.charAt(開始位置)** <br> 開始位置の文字を1文字抜き出す。 <br><br> **(2)文字列.substr(開始位置,文字数)** <br> 開始位置から指定文字数だけ抜き出します。 <br><br> **(3)文字列.substring(開始位置,終了位置)** <br> 開始位置~終了位置の間の文字を抜き出す。 <br><br> #### **例** [sample11-1.html] ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>サンプル</title> </head> <body> <script> //元の文字列 var str = "あいうえおかきくけこさしすせそ"; document.write(str + "<br>"); //1文字切り出す document.write(str.charAt(0) + "<br>"); //文字数を指定して抜き出す document.write(str.substr(1, 4) + "<br>"); //指定範囲の文字を切り出す document.write(str.substring(5, 10) + "<br>"); </script> </body> </html> ``` #### **実行結果** あいうえおかきくけこさしすせそ<br> あ<br> いうえお<br> かきくけこ <br><br> ## **2.文字列の長さ** lengthプロパティは文字列の長さを返します。 ``` var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;//slnに26が格納されます ``` #### **例** [sample11-2.html] ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <script> var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length; document.write(sln); </script> </body> </html> ``` #### **実行結果** 26 <br><br> ## **3.文字列の検索** ### **・indexOf()** indexOf()メソッドは、指定されたテキストの最初の出現位置を返します。 数えられた番号は0からです。 ``` var str = "Please locate where ‘locate‘ occurs!"; var pos = str.indexOf("locate");//posに7が格納されます ``` #### **例** [sample11-3.html] ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <script> var str = "Please locate where ‘locate‘ occurs!"; var pos = str.indexOf("locate"); document.write(pos); </script> </body> </html> ``` #### **実行結果** 7 <br> ### **・lastIndexOf()** lastIndexOf()メソッドは、 指定されたテキストが文字列で最後に出現した位置のインデックスを返します。 ``` var str = "Please locate where ‘locate‘ occurs!"; var pos = str.lastIndexOf("locate");//posに21が格納されます ``` #### **例** [sample11-4.html] ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <script> var str = "Please locate where ‘locate‘ occurs!"; var pos = str.lastIndexOf("locate"); document.write(pos); </script> </body> </html> ``` #### **実行結果** 21 <br><br> ## **4.文字列の置換** replace()メソッドは、指定された値を文字列内の別の値で置き換えます。 ``` str = "ABC"; var n = str.replace("B", "E");//nにAECが格納されます ``` #### **例** [sample11-5.html] ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <script> str = "ABC"; var n = str.replace("B", "E"); document.write(n); </script> </body> </html> ``` #### **実行結果** AEC <br><br> ## **5.文字分割** split()メソッドとは、任意の文字で、指定文字列を分割して配列に格納します。 **配列 = 文字列.split(分割文字)** ``` var myString = 'AAA/BBB/CCC'; var splits = myString.split('/');//splits[0]=AAA,splits[1]=BBB,splits[2]=CCC ``` #### **例** [sample11-6.html] ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <br> <script> var myString = 'AAA/BBB/CCC'; var splits = myString.split('/'); for (i = 0; i < splits.length; i++) { document.write("splits[" + i + "]:" + splits[i] + "<br>"); } </script> </body> </html> ``` #### **実行結果** splits[0]:AAA<br> splits[1]:BBB<br> splits[2]:CCC <br><br> *** >**練習** >>**問題1**[ex11-1.html] 文字列"I am a teacher."に"teacher"を"student"へ置換して、文字列を出力しましょう。 <br> >>**問題2**[ex11-2.html] 文字列"acdhycskcp"にある文字"c"の個数をカウントしてください。
content
戻る