よく使われるJavaScript StringオブジェクトindexOf()substring()split()replace()

8120 ワード

JavaScript indexOf()メソッド
定義と用法
indexOf()メソッドは、指定された文字列値が文字列で最初に現れる位置を返します.
構文
stringObject.indexOf(searchvalue,fromindex)
パラメータの説明
search valueが必要です.検索する文字列の値を指定します.
froomindexオプションの整数パラメータです.文字列で検索を開始する位置を指定します.その合法的な採値は0からstingObject.length-1までです.このパラメータを省略すると、文字列の先頭文字から検索が開始されます.
説明
この方法は最初から最後まで文字列のstingObjectを検索して、それがサブストリングsearch valueを含むかどうかを見ます.検索を開始する位置は文字列のfroomindexまたは文字列の先頭(froomindexが指定されていない場合)です.searchvalueを見つけたら、search valueの最初の出現位置に戻ります.stingObjectの文字位置は0から始まります.
ヒントとコメント
コメント:indexOf()メソッドは、大文字と小文字に敏感です.
検索する文字列の値が現れていない場合、この方法は-1を返します.
実例
本例では、「ハローワールド!」の文字列で異なる検索を行います.
<script type="text/javascript">



var str="Hello world!"

document.write(str.indexOf("Hello") + "<br />")

document.write(str.indexOf("World") + "<br />")

document.write(str.indexOf("world"))



</script>
以上のコードの出力:
0

-1

6
 
=========================
 
JavaScript substring()方法
定義と用法
substring()メソッドは、文字列の中の2つの下付き文字を抽出するために使用されます.
構文
stringObject.substring(start,stop)
パラメータの説明
startが必要です.負でない整数は、抽出するサブストリングの最初の文字がストリングObjectの位置を規定しています.
stop
オプション.負ではない整数は、抽出するサブストリングの最後の文字より1つ多い.
このパラメータを省略すると、返したサブストリングは文字列の最後まで続きます.
戻り値
新しい文字列は、ストリングObjectのサブ文字列を含み、その内容はstartからstop-1までのすべての文字で、その長さはstopのためにstartを減らす.
説明
substring()メソッドによって返されるサブストリングは、startの文字を含みますが、stopの文字は含まれません.
パラメータstartがstopと等しい場合、この方法は、空白の列(すなわち、長さが0の文字列)を返します.startがstopより大きい場合、この方法はサブストリングを抽出する前にまずこの二つのパラメータを交換します.
ヒントとコメント
重要事項:slice()とsubstr()の方法と違って、substring()は負のパラメータを受け入れません.
実例
例1
この例では、substringを使用して文字列からいくつかの文字を抽出する.
<script type="text/javascript">



var str="Hello world!"

document.write(str.substring(3))



</script>
出力:
lo world!
例2
この例では、substringを使用して文字列からいくつかの文字を抽出する.
<script type="text/javascript">



var str="Hello world!"

document.write(str.substring(3,7))



</script>
出力:
lo w
 
========================
 
JavaScript split()方法
定義と用法
split()メソッドは、文字列を文字列配列に分割するために使用されます.
構文
stringObject.split(separator,howmany)
パラメータの説明
separatorが必要です.文字列または正規表現は、このパラメータで指定された場所からstingObjectを分割します.
howmanyオプションです.このパラメータは、返した配列の最大長さを指定します.このパラメータが設定されている場合、返したサブストリングはこのパラメータで指定された配列より多くないです.このパラメータが設定されていない場合は、文字列全体が分割され、その長さは考慮されません.
戻り値
文字列配列.配列は、separatorが指定した境界において文字列stingObjectをサブストリングに分割して作成した.返した配列の文字列には、separator自体が含まれていません.
しかし、separatorがサブ表現を含む正規表現である場合、これらのサブ表現にマッチする文字列が返される.
ヒントとコメント
空の文字列(")をseparatorとすると、stingObjectの各文字間が分割されます.
注記:String.split()の動作は、Aray.joinの動作とは逆です.
実例
例1
本例では、文字列を異なる方法で分割します.
<script type="text/javascript">



var str="How are you doing today?"



document.write(str.split(" ") + "<br />")

document.write(str.split("") + "<br />")

document.write(str.split(" ",3))



</script>
出力:
How,are,you,doing,today?

H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?

How,are,you
例2
この例では、分割構造をより複雑な文字列にする.
"2:3:4:5".split(":")	//   ["2", "3", "4", "5"]

"|a|b|c".split("|")	//   ["", "a", "b", "c"]

例3
次のコードを使って、文を単語に分割できます.
var words = sentence.split(' ')
または正規表現をseparatorとして使用します.
var words = sentence.split(/\s+/)
例4
単語をアルファベットに分割するか、文字列を文字に分割する場合は、次のコードが使えます.
"hello".split("")	//    ["h", "e", "l", "l", "o"]
一部の文字を返すだけなら、howmanyパラメータを使ってください.
"hello".split("", 3)	//    ["h", "e", "l"]
 
===============================
 
JavaScript replace()方法
定義と用法
replace()メソッドは、文字列の中で他の文字を一部の文字で置き換えたり、正規表現と一致するサブストリングを置き換えるために使用されます.
構文
stringObject.replace(regexp/substr,replacement)
パラメータの説明
regexp/substr
必要です.サブ文字列または置換するモードのRegExpオブジェクトを指定します.
この値が文字列の場合、最初にRegExpオブジェクトに変換されるのではなく、検索する直接量テキストモードとして使用されます.
replaccementが必要です.文字列の値.テキストの置換または置換テキストを生成する関数が定められています.
戻り値
新しい文字列は、regexpの最初のマッチまたはすべてのマッチをreplaccementに置き換えて得られます.
説明
文字列strigObjectのreplace()方法は検索と置換の動作を実行します.これはstrigObjectでregexpにマッチするサブ文字列を検索してreplaccementでこれらのサブストリングを置換します.regexpがグローバルフラグgを有する場合、replace()方法は、全ての整合したサブストリングを置き換えることになる.そうでなければ、最初の串だけを換えます.
replaccementは文字列でもいいし、関数でもいいです.文字列である場合、各マッチは文字列に置き換えられます.ただし、replace mentの中の$字は特定の意味を持っています.以下の表に示すように、パターンマッチングから得られた文字列が置換に使われることを示しています.
文字置換テキスト
$1、$2、...、$99は、regexpの第1から第99のサブ表現にマッチするテキストです.
$®expに合うサブストリング.
ピペット列の左側にあるテキストです.
''はピリオドの右側にあるテキストです.
ドルの直接記号です.
注意:ECMAScript v 3では、replace()メソッドのパラメータreplaccementは文字列ではなく関数であっても良いと規定されています.この場合、各マッチは関数を呼び出します.戻りの文字列は置換テキストとして使用されます.関数の最初のパラメータはマッチングモードの文字列です.次のパラメータはモードのサブ表現にマッチする文字列で、0つ以上のパラメータがあります.次のパラメータは整数であり,stingObjectで出現する位置に一致することを宣言した.最後のパラメータはstingObject自身です.
実例
例1
この例では、「W 3 School」を使って文字列の「Microsoft」を置換します.
<script type="text/javascript">



var str="Visit Microsoft!"

document.write(str.replace(/Microsoft/, "W3School"))



</script>
出力:
Visit W3School!
例2
この例では、「Microsoft」が見つけられるたびに、「W 3 School」に置き換えられます.
<script type="text/javascript">



var str="Welcome to Microsoft! "

str=str + "We are proud to announce that Microsoft has "

str=str + "one of the largest Web Developers sites in the world."



document.write(str.replace(/Microsoft/g, "W3School"))



</script>
出力:
Welcome to W3School! We are proud to announce that W3School

has one of the largest Web Developers sites in the world.
例3
この例で提供されたコードを使って、文字列の大文字にマッチする正しい文字を確保できます.
text = "javascript Tutorial";

text.replace(/javascript/i, "JavaScript");

例4
この例では、「Don,John」を「John Doe」の形に変換します.
name = "Doe, John";

name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
例5
この例では、すべての花の引用符を直接引用符に置き換えます.
name = '"a", "b"';

name.replace(/"([^"]*)"/g, "'$1'");
例6
この例では、文字列のすべての単語の頭文字を大文字に変換します.
name = 'aaa bbb ccc';

uw=name.replace(/\b\w+\b/g, function(word){

  return word.substring(0,1).toUpperCase()+word.substring(1);}

  );
TIY
replace()1
どのようにreplace()を使って文字列の文字を置換しますか?
replace()2-グローバル検索
どのようにreplace()を使って全体的に入れ替えますか?
replace()3-大きさや書き込みに敏感でない検索
どのようにreplaceを使うかは、大文字の正確性を確保します.
replace()4
どのようにreplace()を使って名前のフォーマットを変えますか?
replace()5
どのようにreplace()を使って引用符を変えますか?
replace()6
どのようにreplace()を使って単語の頭文字を大文字に変換しますか?