目次
文字列メソッド _indexOf()/lastIndexOf()
文字列メソッド _toLowerCase()/toUpperCase()
弦
文字列は、一重引用符または二重引用符で囲まれた 0 個以上の文字が並んでいるものです。
'xiaotong'
"xiaotong"
一重引用符で囲まれた文字列内では、二重引用符を使用できます。二重引用符で囲まれた文字列内では一重引用符を使用できます
'key = "value"'
"It's a long itxiaotong"
一重引用符文字列内で一重引用符を使用する場合は、内側の一重引用符の前にバックスラッシュを追加してエスケープする必要があります。二重引用符は二重引用符で囲まれた文字列内でも使用されます。
'Did she say \'Hello\'?'
// "Did she say 'Hello'?"
"Did she say \"Hello\"?"
// "Did she say "Hello"?"
親切なヒント
デフォルトでは文字列は 1 行でのみ記述でき、複数行に分割するとエラーが報告されます。
長い文字列を複数の行に分割する必要がある場合は、各行の末尾にバックスラッシュを使用できます。
var longString = 'Long \
long \
string';
longString
// "Long long long string"
エスケープ
バックスラッシュ (\) は文字列内で特別な意味を持ち、一部の特殊文字を表すために使用されるため、エスケープ文字とも呼ばれます。
\0 :null(\u0000)
\b :后退键(\u0008)
\f :换页符(\u000C)
\n :换行符(\u000A)
\r :回车键(\u000D)
\t :制表符(\u0009)
\v :垂直制表符(\u000B)
' :单引号(\u0027)
" :双引号(\u0022)
\ :反斜杠(\u005C)
長さプロパティ
length 属性は文字列の長さを返します。これは変更できません。
var s = 'itxiaotong';
s.length // 9
文字列のトランスコーディング
Base64 トランスコーディング
いわゆる Base64 は、任意の値を 0 ~ 9、A ~ Z、az、+、/ の 64 文字で構成される印刷可能な文字に変換できるエンコード方式です。これを使用する主な目的は暗号化ではなく、特殊文字を使用せずにプログラムの処理を簡素化することです。
JavaScript は、Base64 に関連する 2 つのメソッドをネイティブに提供します
btoa(): 任意の値を Base64 エンコードに変換します
atob(): Base64 エンコーディングを元の値に変換します
var string = 'Hello World!';
btoa(string) // "SGVsbG8gV29ybGQh"
atob('SGVsbG8gV29ybGQh') // "Hello World!"
親切なヒント
中国語は処理できません
中国語を扱う必要がある場合は、2 つのメソッドを追加する必要があります
encodeURIComponent()
decodeURIComponent()
function b64Encode(str) {
return btoa(encodeURIComponent(str));
}
function b64Decode(str) {
return decodeURIComponent(atob(str));
}
b64Encode('你好') // "JUU0JUJEJUEwJUU1JUE1JUJE"
b64Decode('JUU0JUJEJUEwJUU1JUE1JUJE') // "你好"
文字列メソッド _charAt()
charAtメソッドは指定された位置にある文字を返し、パラメータには0から番号が付けられ ます。
var s = new String('itxiaotong');
s.charAt(1) // "t"
s.charAt(s.length - 1) // "n"
引数が負の場合、または文字列の長さ以上の場合、charAt は空の文字列を返します。
'itxiaotong'.charAt(-1) // ""
'itxiaotong'.charAt(9) // ""
文字列メソッド _concat()
concatメソッドは、2 つの文字列を連結し、元の文字列を変更せずに新しい文字列を返すために使用されます。
var s1 = 'itxiaotong';
var s2 = 'txc';
s1.concat(s2) // "itxiaotongtxc"
s1 // "itxiaotong"
このメソッドは複数のパラメータを受け入れることができます
'txc'.concat('itxiaotong', 'bjtxc') //"txcitxiaotongbjtxc"
パラメータが文字列でない場合、concatメソッドはまず文字列に変換してから接続します。
var one = 1;
var two = 2;
var three = '3';
''.concat(one, two, three) // "123"
文字列メソッド _slice()
スライスメソッドは、元の文字列から部分文字列を抽出し、元の文字列を変更せずにそれを返すために使用されます。最初のパラメータは部分文字列の開始位置、2 番目のパラメータは部分文字列の終了位置 (この位置を除く) です。
'itxiaotong'.slice(0, 4) // "it"
2 番目のパラメータを省略した場合、部分文字列が元の文字列の末尾に達することを意味します。
'itxiaotong'.slice(2) // "xiaotong"
パラメータが負の値の場合、末尾からのカウントダウン位置、つまり負の値に文字列の長さを加えた値を示します。
'itxiaotong'.slice(-7) // "xiaotong"
'itxiaotong'.slice(0, -7) // "it"
'itxiaotong'.slice(-2, -1) // "n"
最初のパラメータが 2 番目のパラメータより大きい場合、スライスメソッドは空の文字列を返します。
'itxiaotong'.slice(2, 1) // ""
文字列メソッド _substring()
substringメソッドは、元の文字列から部分文字列を抽出し、元の文字列を変更せずにそれを返すために使用されます。これはスライスメソッドとよく似ています。最初のパラメータは部分文字列の開始位置を示し、2 番目の位置は終了位置を示します (返される結果にはこの位置は含まれません)。
'itxiaotong'.substring(0, 2) // "it"
2 番目のパラメータが省略された場合は、部分文字列が元の文字列の末尾に移動することを意味します。
'itxiaotong'.substring(2) // "xiaotong"
最初のパラメータが 2 番目のパラメータより大きい場合、substring メソッドは 2 つのパラメータの位置を自動的に置き換えます。
'itxiaotong'.substring(9, 2) // "xiaotong"
// 等同于
'itxiaotong'.substring(2, 9) // "xiaotong"
パラメータが負の数値の場合、部分文字列メソッドは負の数値を自動的に 0 に変換します。
'itxiaotong'.substring(-3) // "itxiaotong"
'itxiaotong'.substring(2, -3) // "it"
これらのルールは直観に反するため、部分文字列メソッドは廃止され、スライスが使用されます。
文字列メソッド _substr()
substrメソッドは、元の文字列から部分文字列を抽出し、元の文字列を変更せずにそれを返すために使用されます。これは、 slice メソッドやsubstringメソッドと同じです。
substrメソッドの最初のパラメータは部分文字列の開始位置 (0 から数えます) で、2 番目のパラメータは部分文字列の長さです。
'itxiaotong'.substr(2, 7); // xiaotong
2 番目のパラメータが省略された場合は、部分文字列が元の文字列の末尾に移動することを意味します。
'itxiaotong'.substr(2) // "xiaotong"
最初のパラメータが負の数値の場合、逆数計算の文字位置を示します。2 番目のパラメータが負の場合、自動的に 0 に変換されるため、空の文字列が返されます。
'itxiaotong'.substr(-7) // "xiaotong"
'itxiaotong'.substr(4, -1) // ""
文字列メソッド _indexOf()/lastIndexOf()
IndexOfメソッドは、別の文字列内で最初に出現する文字列を特定するために使用され、返される結果は、一致が開始される位置です。-1が返された場合は、一致しないことを意味します
'hello world'.indexOf('o') // 4
'itxiaotong'.indexOf('txc') // -1
IndexOfメソッドは、この位置から逆方向のマッチングを開始することを示す 2 番目のパラメーターを受け入れることもできます。
'hello world'.indexOf('o', 6) // 7
lastIndexOfメソッドの使用方法は、 indexOfメソッドと同じですが、主な違いは、 lastIndexOf は末尾から一致するのに対し、 indexOfは先頭から一致することです。
'itxiaotong'.lastIndexOf('z') // 5
文字列メソッド _trim()
トリムメソッドは、文字列の両端のスペースを削除し、元の文字列を変更せずに新しい文字列を返すために使用されます。
' hello world '.trim()
// "hello world"
このメソッドはスペースだけでなく、タブ ( \t 、 \v )、改行 ( \n )、およびキャリッジ リターン ( \r ) も削除します。
'\r\nitxiaotong \t'.trim() // 'itxiaotong'
ES6 拡張メソッド、trimEnd()およびtrimStart()メソッド
" itxiaotong ".trimEnd(); // itxiaotong
" itxiaotong ".trimStart(); // itxiaotong
文字列メソッド _toLowerCase()/toUpperCase()
toLowerCaseメソッドは文字列をすべて小文字に変換するために使用され、 toUpperCaseはすべてを大文字に変換するために使用されます。どちらも元の文字列を変更せずに新しい文字列を返します。
'Hello World'.toLowerCase()
// "hello world"
'Hello World'.toUpperCase()
// "HELLO WORLD"
文字列の最初の文字を大文字に変更します
itxiaotong'.charAt(0).toUpperCase() +
'itxiaotong'.substr(1);
文字列メソッド _search()/replace()
この検索メソッドは、元の文字列が部分文字列と一致するかどうかを判断し、一致した部分の最初の位置を返します。一致するものが見つからない場合は-1を返します。
'itxiaotong,txc'.search('xia') // 2
replaceメソッドは、一致した部分文字列を置換するために使用されます。
'txcxiaotong'.replace('txc', 'it') // "itxiaotong"
文字列メソッド _split()
Splitメソッドは、指定されたルールに従って文字列を分割し、分割された部分文字列で構成される配列を返します。
'it|txc|xiaotong'.split('|') // ["it", "txc","xiaotong"]
分割ルールが空の文字列の場合、返される配列のメンバーは元の文字列の各文字です。
'a|b|c'.split('') // ["a", "|", "b","|","c"]
引数が省略された場合、返される配列の唯一のメンバーは元の文字列です
'it|txc|bz'.split() // [it|txc|bz]
また、splitメソッドは、返される配列のメンバーの最大数を制限する 2 番目のパラメーターを受け入れることもできます。
'it|txc|bz'.split('|', 0) // []
'it|txc|bz'.split('|', 1) // ["it"]
'it|txc|bz'.split('|', 2) // ["it", "txc"]
'it|txc|bz'.split('|', 3) // ["it", "txc","bz"]
'it|txc|bz'.split('|', 4) // ["it", "txc","bz"]