ホームページ > 記事 > ウェブフロントエンド > JavaScriptネイティブオブジェクトのStringオブジェクトのプロパティとメソッドを詳しく解説_JavaScriptスキル
長さ
length プロパティは、文字列内の文字数を返します。
length は、文字列の UTF-16 エンコーディングに基づいて長さを取得します。空の文字列の長さは 0 です。長さは変更できません。
charAt()
charAt() メソッドは、指定された位置にある文字を返します。 JavaScript には文字列型とは異なる文字データ型がないため、返される文字は長さ 1 の文字列であることに注意してください。
stringObject.charAt(index)
パラメータインデックスは必須です。文字列内の特定の位置を表す数値、つまり文字列内の文字の添え字。文字列の最初の文字のインデックスは 0 です。パラメーターのインデックスが 0 から string.length の間にない場合、このメソッドは空の文字列を返します。
注: charAt() メソッドは、一部の非 BMP (Basic-Multilingual-Plane) 文字のサポートに問題がある可能性があります。参考: MDN
。charCodeAt()
charCodeAt() メソッドは、指定された位置にある文字の Unicode エンコーディングを返します。この戻り値は 0 ~ 65535 の整数です。
charCodeAt() メソッドは、charAt() メソッドと同様の操作を実行します。ただし、前者は指定された位置の文字のエンコーディングを返し、後者は文字の部分文字列を返します。
stringObject.charCodeAt(index)
パラメータインデックスはオプションです。文字列内の特定の位置を表す数値、つまり文字列内の文字の添え字。文字列の最初の文字のインデックスは 0 です。 Index が負の場合、または文字列の長さ以上の場合、charCodeAt() は NaN を返します。インデックスが空の場合、デフォルトは 0 です。
Unicode エンコード範囲は 0 ~ 1,114,111 です。最初の 128 個の Unicode エンコードは ASCII 文字エンコードと一致します。 charCodeAt() メソッドによって返される値は常に 65536 未満です。これは、より高い値を持つ文字はペアで表示され、charCodeAt(i) と charCodeAt(i 1) と同時に取得する必要があるためです。
concat() – 非推奨
concat() メソッドは、2 つ以上の文字列を連結するために使用されます。
stringObject.concat(stringX, stringX, …, stringX)
パラメータ stringX は必須です。文字列に連結される 1 つ以上の文字列オブジェクトです。
concat() メソッドは、すべてのパラメーターを文字列に変換し、それらを文字列 stringObject の末尾に順番に連結し、連結された文字列を返します。 stringObject自体は変更されないことに注意してください。
この方法の代わりに、より効率的な文字列の連結には " " 演算子を使用することを強くお勧めします。参考: concat vs join。
indexOf()
indexOf() メソッドは、文字列内で指定された文字列値が最初に出現する位置を返します。
stringObject.indexOf(searchvalue, fromindex)
パラメータ searchvalue は必須で、取得する文字列値を指定します。パラメータ fromindex はオプションの整数パラメータです。検索を開始する文字列内の位置を指定します。有効な値は 0 ~ stringObject.length – 1 です。このパラメータを省略した場合、文字列の最初の文字から検索が開始されます。
このメソッドは、文字列 stringObject を最初から最後まで取得して、部分文字列 searchvalue が含まれているかどうかを確認します。検索の開始位置は、文字列の fromindex または文字列の先頭 (fromindex が指定されていない場合) です。 searchvalue が見つかった場合は、searchvalue が最初に出現した位置が返されます。 stringObject 内の文字位置は 0 から始まります。
注:indexOf() メソッドでは大文字と小文字が区別されます。取得する文字列値が存在しない場合、メソッドは -1 を返します。
lastIndexOf()
lastIndexOf() メソッドは、文字列内の指定された位置を後ろから前に検索して、指定された文字列値の最後の出現位置を返すことができます。
lastIndexOf() と IndexOf() のパラメーターと使用方法は、後ろから前に検索することを除いて同じです。
console.log(str.indexOf("wo")); //6
console.log(str.indexOf("wo",2)); //6
console.log(str.indexOf("wo",10)); //12
console.log(str.lastIndexOf("wo")); //12
console.log(str.lastIndexOf("wo",2)); //-1
console.log(str.lastIndexOf("wo",10)); //6
localeCompare()
ローカル固有の順序で 2 つの文字列を比較します。
stringObject.localeCompare(ターゲット)
パラメータ target は必須であり、ローカル固有の順序で stringObject と比較される文字列です。
比較結果の数値を返します。 stringObject がターゲットより小さい場合、localeCompare() は 0 未満の数値を返します。 stringObject がターゲットより大きい場合、このメソッドは 0 より大きい数値を返します。 2 つの文字列が等しい場合、またはローカル照合による違いがない場合、このメソッドは 0 を返します。
< 演算子と > 演算子を文字列に適用すると、ローカル照合順序に関係なく、文字の Unicode エンコーディングを使用して文字列のみが比較されます。このようにして生成された順序は、必ずしも正しいとは限りません。たとえば、スペイン語では、文字「ch」は通常、文字「c」と「d」の間に現れる文字として順序付けされます。 localeCompare() メソッドは、デフォルトのローカル照合順序を考慮して文字列を比較する方法を提供します。
一部の高度なブラウザの localeCompare() のパラメータはロケールとオプションもサポートしています。次のコードと MDN を参照してください: https://developer.mozilla.org/en-US/docs/Web/JavaScript / Reference/Global_Objects/String/localeCompare
match()
match() メソッドは、文字列内の指定された値を取得するか、1 つ以上の正規表現との一致を見つけます。
このメソッドは、indexOf() および lastIndexOf() に似ていますが、文字列の位置の代わりに指定された値を返します。
stringObject.match(regexp)
パラメータ regexp には、文字列または正規表現 RegExp オブジェクトを指定できます。
一致した結果を格納する配列を返します。この配列の内容は、regexp にグローバル フラグ g があるかどうかによって異なります。
正規表現に g フラグがない場合、match() メソッドは stringObject 内で 1 つの一致のみを実行できます。一致するテキストが見つからない場合、match() は null を返します。それ以外の場合は、見つかった一致するテキストに関する情報を含む配列を返します。配列の 0 番目の要素には一致するテキストが保持され、残りの要素には正規表現の部分表現に一致するテキストが保持されます。これらの通常の配列要素に加えて、返される配列には 2 つのオブジェクト プロパティが含まれます。 Index 属性は stringObject 内の一致するテキストの開始文字の位置を宣言し、input 属性は stringObject への参照を宣言します。
正規表現にフラグ g がある場合、match() メソッドはグローバル検索を実行して、stringObject 内で一致するすべての部分文字列を見つけます。一致する部分文字列が見つからない場合は、null が返されます。 1 つ以上の一致する部分文字列が見つかった場合は、配列が返されます。ただし、グローバル マッチングによって返される配列の内容は、前者とは大きく異なります。その配列要素には、一致するすべての部分文字列が stringObject に格納され、インデックス属性や入力属性はありません。
g フラグを使用しない場合、stringObject.match(regexp) を呼び出すと、regexp.exec(stringObject) を呼び出した場合と同じ結果になります。グローバル検索モードでは、match() は部分式と一致するテキストに関する情報を提供せず、一致する各部分文字列の位置も宣言しません。このグローバルに取得された情報が必要な場合は、RegExp.exec() を使用できます。
注: 文字列が正規表現に一致するかどうかを確認する必要がある場合は、regexp.test(string) を使用します。1 回だけ一致させたい場合は、string.match(regexp) の代わりに regexp.exec(string) を使用します。 。
console.log(str.match("world")); //["world", インデックス: 6, input: "Hello world!"]
console.log(str2.match(/d /g)); //["1", "2", "3"]
replace()
replace() メソッドは、文字列内の一部の文字を他の文字に置き換えたり、正規表現に一致する部分文字列を置き換えたりするために使用されます。
stringObject.replace(regexp/substr, 置換)
パラメータ regexp/substr は必須です。置換する部分文字列またはパターンを指定する RegExp オブジェクト。値が文字列の場合、最初に RegExp オブジェクトに変換されるのではなく、リテラル リテラル パターンとして取得されます。パラメータの置換が必要です。は文字列値です。テキストを置換する関数、または置換テキストを生成する関数を指定します。
メソッドは、正規表現の最初またはすべての一致を replace で置き換えることによって取得された新しい文字列を返します。
文字列 stringObject の replace() メソッドは、検索および置換操作を実行します。 stringObject 内で正規表現に一致する部分文字列を検索し、それらの部分文字列を置換文字列に置き換えます。正規表現にグローバル フラグ g がある場合、replace() メソッドは一致するすべての部分文字列を置き換えます。それ以外の場合は、最初に一致した部分文字列のみが置換されます。
replacement には文字列または関数を使用できます。文字列の場合、各一致は文字列に置き換えられます。ただし、置換の $ 文字には特定の意味があります。以下に示すように、パターン一致から取得された文字列が置換に使用されることを示しています。
1.$$ – $
2.$` - 一致した部分文字列の左側のテキスト。
3.$' - 一致した部分文字列の右側のテキスト。
4.$& - 正規表現に一致する部分文字列。
5.$number - 正規表現のnumber番目の部分式に一致するテキスト。
var str2 = "こんにちは Microsoft! と Microsoft! と Microsoft! または Microsoft!";
console.log(str2.replace(/Microsoft/g, "Google")); // こんにちは、Google です!
var str3 = "ドー、ジョン";
console.log(str3.replace(/(w )s*, s*(w )/, "$2 $1")); //ジョン・ドゥ
console.log(str4.replace(/"([^"]*)"/g, "'$1'")); //'a', 'b'
var str5 = 'aaa bbb ccc';
console.log(str5.replace(/bw b/g, function(word){
return word.substring(0,1).toUpperCase() word.substring(1);}
)); //ああ、Bbb Ccc
検索()
search() メソッドは、文字列内の指定された部分文字列を取得するか、正規表現に一致する部分文字列を取得するために使用されます。stringObject.search(regexp)
パラメータ regexp は、stringObject で取得する必要がある部分文字列にすることも、取得する必要がある RegExp オブジェクトにすることもできます。
正規表現に一致する stringObject 内の最初の部分文字列の開始位置を返します。一致する部分文字列が見つからない場合は、-1 が返されます。
注: search() メソッドはグローバル一致を実行せず、g フラグを無視します。また、正規表現の lastIndex プロパティを無視し、常に文字列の先頭から取得します。つまり、常に stringObject の最初に一致した位置が返されます。
If you just want to know whether there is a matching string, using the search() method is almost the same as using the test() method. If you want to get more information, you can use the match() and exec() methods, but the efficiency will be low.
slice()
Theslice() method extracts a certain part of a string and returns the extracted part as a new string.
stringObject.slice(start, end)
The parameter start is the starting index of the segment to be extracted. If it is a negative number, this parameter specifies the position starting from the end of the string. That is, -1 refers to the last character of the string, -2 refers to the second to last character, and so on.
The parameter end is the index immediately following the end of the fragment to be extracted. If this parameter is not specified, the substring to be extracted includes the string from start to the end of the original string. If this parameter is negative, it specifies the position from the end of the string.
Themethod will return a new string. Includes all characters of the string stringObject from start (inclusive) to end (exclusive).
Note: The methods slice(), substring() and substr() of the String object can all return the specified part of the string. It is strongly recommended to use the slice() method in all situations.
substring()
Deprecated, it is recommended to use slice() instead.
substr()
Deprecated, it is recommended to use slice() instead.
toLocaleLowerCase()
Not recommended. It is only useful in a few languages such as Turkish. It is recommended to use toLowerCase() instead.
toLocaleUpperCase()
Not recommended. It is only useful in a few languages such as Turkish. It is recommended to use toUpperCase() instead.
toLowerCase()
The toLowerCase() method is used to convert strings to lowercase.
toUpperCase()
toUpperCase() method is used to convert strings to uppercase.
String objects also have many methods for HTML tags: anchor(), big(), blink(), bold(), fixed(), fontcolor(), fontsize(), italics(), link() , small(), strike(), sub(), sup(). They mainly perform HTML formatting on String objects. Nowadays, few people apply them and their use is not recommended.
Method demonstration example:
var txt="Hello World!"
document.write("
Big: " txt.big() "
")Small: " txt.small() "
")document.write("
Bold: " txt.bold() "
")Italic: " txt.italics() "
")document.write("
Blink: " txt.blink() " (does not work in IE)
")Fixed: " txt.fixed() "
")Strike: " txt.strike() "
")document.write("
Fontcolor: " txt.fontcolor("Red") "
")Fontsize: " txt.fontsize(16) "
")document.write("
Lowercase: " txt.toLowerCase() "
")Uppercase: " txt.toUpperCase() "
")document.write("
Subscript: " txt.sub() "
")Superscript: " txt.sup() "
")document.write("
Link: " txt.link("http://www.w3school.com.cn") "
")