声明
この記事はhttps://www.hangge.com/blog/cache/detail_1887.htmlから複製されています。再印刷する場合は、元のテキストの出典を明記してください。
ソフトウェア開発では、文字列をインターセプトする必要があることが多く、JavaScriptはインターセプト操作を実現するための多くの方法を提供します。この記事では、参考のためにさまざまな方法を整理します。
1.スライス()を使用して傍受する
1.機能の説明
slice()メソッドは、指定された開始位置と終了位置から文字列の特定の部分を抽出し、抽出した部分を新しい文字列として返すことができます。構文は次のとおりです。
パラメータの説明:
- start(必須):選択を開始する場所を指定します。負の場合は、文字列の末尾からの位置を指定します。つまり、-1は最後の文字を表し、-2は最後から2番目の文字を表します。
- end(オプション):選択を終了する場所、つまり末尾の文字添え字を指定します。このパラメーターが指定されていない場合、インターセプトされるストリングには、開始から終了までのすべての文字が含まれます。このパラメーターが負の場合、配列の最後からの文字を指定します。
使用例
var str = "0123456789";
console.log("原始字符串:", str);
console.log("从索引为3的字符起一直到结束:", str.slice(3)); //3456789
console.log("从倒数第3个字符起一直到结束:", str.slice(-3)); //789
console.log("从开始一直到索引为5的前一个字符:", str.slice(0,5)); //01234
console.log("从开始一直到倒数第3个字符的前一个字符:", str.slice(0,-3)); //0123456
console.log("从索引为3的字符起到索引为5的前一个字符:", str.slice(3,5)); //34
console.log("从索引为3的字符起到倒数第3个字符的前一个字符:", str.slice(3,-3)); //3456
結果は次のとおりです。
次に、部分文字列()を使用して傍受します
1.関数の説明
(1)substringメソッドは、文字列内の指定された2つの添え字の間の文字を抽出するために使用されます。構文は次のとおりです。
パラメータの説明:
- start(必須):stringObjectで抽出される部分文字列の最初の文字の位置を指定する負でない整数。
- stop(オプション):stringObjectで抽出される部分文字列の最後の文字より1大きい非負の整数。
戻り値の説明:
このメソッドは新しい文字列を返します。文字列値にはstringObjectのサブ文字列が含まれます。その内容はstartからstop-1までのすべての文字で、長さはstopからstartを引いたものです。
(2)注意が必要な事項:
- startとendが等しい場合、このメソッドは空の文字列(つまり、長さが0の文字列)を返します。
- startがendよりも大きい場合、メソッドはこれらの2つのパラメーターを入れ替えてから部分文字列を抽出します。
- startまたはendが負の場合、0に置き換えられます。
2.使用例
var str = "0123456789";
console.log("原始字符串:", str);
console.log("从索引为3的字符起一直到结束:", str.substring(3)); //3456789
console.log("从索引为20的字符起一直到结束:", str.substring(20)); //
console.log("从索引为3的字符起到索引为5的前一个字符结束:", str.substring(3,5)); //34
console.log("start比end大会自动交换,结果同上:", str.substring(5,3)); //34
console.log("从索引为3的字符起到索引为20的前一个字符结束:", str.substring(3,20)); //3456789
結果は次のとおりです。
3、substr()を使用して傍受する
1.機能の説明
substrメソッドは、指定された位置から始まる指定された長さの部分文字列を返します。構文は次のとおりです:
stringObject.substr(開始、長さ)
- start(必須):目的のサブストリングの開始位置。文字列の最初の文字のインデックスは0です。
- 長さ(オプション):返される部分文字列に含める必要がある文字数。
(2)注:
長さが0または負の場合、空の文字列が返されます。
長さが指定されていない場合、部分文字列はstringObjectの最後まで続きます。
startまたはlengthが負の場合、0に置き換えられます。
2.使用例
var str = "0123456789";
console.log("原始字符串:", str);
console.log("从索引为3的字符起一直到结束:", str.substr(3)); //3456789
console.log("从索引为20的字符起一直到结束:", str.substr(20)); //
console.log("从索引为3的字符起截取长度为5的字符串:", str.substr(3,5)); //34567
console.log("从索引为3的字符起截取长度为20的字符串:", str.substr(3,20)); //3456789
結果は次のとおりです。
添付ファイル:他の一般的に使用されるいくつかの方法
次の関数は、文字列のインターセプトに役立ちます。
1、indexOf()
部分文字列と一致する文字列の最初の文字のインデックスを返します。
var str = "JavaScript";
var i1 = str.indexOf("a"); //1
var i2 = str.indexOf("S"); //4
var i3 = str.indexOf("Script"); //4
var i4 = str.indexOf("k"); //-1
console.log("原始字符串:", str);
console.log("a的索引:", i1);
console.log("S的索引:",i2);
console.log("Script的索引:",i3);
console.log("k的索引:",i4);
結果は次のとおりです。
2、lastIndexOf()
このメソッドは、(indexOfではなく)文字または文字列が右から左に現れる最初の文字のインデックス値を返します
var str = "JavaScript";
var i1 = str.lastIndexOf("a"); //3
var i2 = str.lastIndexOf("S"); //4
var i3 = str.lastIndexOf("Script"); //4
var i4 = str.lastIndexOf("k"); //-1
3、split()
指定された区切り文字を使用して、文字列を配列に分割します。
var str = "jpg|bmp|gif|ico|png";
var arr= str.split("|");
console.log(arr);
結果は次のとおりです。
4、join()
指定された区切り文字を使用して、配列を文字列に結合します。
var arr= new Array("jpg","bmp","gif","ico","png");
var str = arr.join("|");
console.log(str);
結果は次のとおりです。
5、concat()
2つのアレイを接続します。
var arr1 = [1, 2, 3];
var arr2 = [4, 5, 6];
var arr3 = arr1.concat(arr2);
console.log(arr3);
結果は次のとおりです。
6、charAt()
指定された位置の文字を返します。文字列の最初の文字のインデックスは0です。パラメータインデックスが0とstring.lengthの間にない場合、メソッドは空の文字列を返します。
var str = "abcdefg";
var char = str.charAt(2); //c
console.log(char);
結果は次のとおりです。