Javascript 文字列メソッドの詳細な説明

Javascript 文字列メソッドの詳細な説明

文字列の長さ: 長さ

文字列内の指定された位置の値を取得する

charAt()

戻り値

str.charAt(2) // c
str[2] // c
str.charAt(30) // ''
str[30] // 未定義

index の値が str の長さの範囲内にない場合、str[index] は undefined を返し、charAt(index) は空の文字列を返します。

注意: str[index]はie6-ie8と互換性がありませんが、charAt(index)は互換性があります。

charCodeAt()

文字列インデックス位置の文字のUnicode値を取得します。

str.charAt(2) // c
str[2] // c
str.charAt(30) // ''
str[30] // 未定義

文字列に値が含まれているかどうかを確認する

インデックス()

文字を検索し、見つかった場合は最初の一致のインデックス位置を返し、見つからない場合は -1 を返します。正の順序で検索します。

str.indexOf('e')
// 4 インデックス位置 str.indexOf('e',5)
// -1

構文: string.indexOf(value,startIndex)

value: 必須。取得する文字列値を指定します。

startIndex: オプションの整数パラメータ。デフォルト値は 0 で、正の順序で検索する開始位置を意味します。有効な値は0からstring.length - 1です。

最後のインデックス()

文字を検索し、見つかった場合は最後に一致した位置を返し、見つからない場合は -1 を返します。indexOf とは逆に、逆順に検索します。

str.lastIndexOf('e')
// 10
str.lastIndexOf('e',8) // 0-8 インデックス内で e を逆順に検索します
// 4
str.lastIndexOf('e',3) // 0~3のインデックス内でeを逆順に検索します
// -1

構文: string.lastIndexOf(value,startIndex)

value: 必須。取得する文字列値を指定します。

startIndex: オプションの整数パラメータ。デフォルト値は string.length - 1 で、開始インデックス位置を逆順に検索するために使用されます。有効な値は0からstring.length - 1です。

を含む()

文字列に指定された部分文字列が含まれているかどうかを判断します。一致する文字列が見つかった場合は true を返し、それ以外の場合は false を返します。

str.includes('e') // 真
str.includes('e',11) // 偽 

構文: string.includes(value, startIndex)

value: 必須。取得する文字列値を指定します。

startIndex: オプションの整数パラメータ。デフォルトは 0 で、検索はインデックス位置から開始されます。有効な値は0からstring.length - 1です。

開始()

このメソッドは、文字列が指定された部分文字列で始まるかどうかを検出するために使用されます。指定された部分文字列で始まる場合は true を返し、それ以外の場合は false を返します。

str.startsWith('ab') // 真
str.startsWith('ef') // 偽
str.startsWith('ef',4) // 真

構文: string.startsWith(value, startIndex)

value: 必須。取得する文字列値を指定します。

startIndex: オプションの整数パラメータ。デフォルトは 0 で、検索はインデックス位置から開始されます。有効な値は0からstring.length - 1です。

終了()

このメソッドは、現在の文字列が指定された部分文字列で終わるかどうかを判断するために使用されます。渡された部分文字列が検索文字列の末尾にある場合は true を返し、それ以外の場合は false を返します。

str.endsWith('ba') // 真
str.endsWith('ef') // 偽
str.endsWith('ef',6) // 真

構文: string.endsWith(value, length)

value: 必須。取得する文字列値を指定します。

length: 部分文字列の長さ。デフォルトは元の文字列の長さ string.length

文字列の連結

連結

2 つ以上の文字列を連結します。このメソッドは元の文字列を変更せず、2 つ以上の文字列を連結した新しい文字列を返します。

a = 'asdf' とします
b = '123' とします
s = a.concat(b) とします。
s2 = a + bとする
コンソール(a,b,s,s2)
// 'asdf' '123' 'asdf123' 'asdf123'

構文: string.concat(string1, string2, ..., stringX)

​ 文字列の後に文字列1、文字列2...文字列Xを連結する

「+」記号

上記の連絡先の例に示すように、この方法は一般的に使用され、シンプルで効率的です。

文字列を配列に分割する

スプリット()

文字列を文字列の配列に分割します。このメソッドは元の文字列を変更しません。

str.split('') // ["a", "b", "c", "d", "e", "f", "g", "h", "g", "f", "e", "d", "c", "b", "a"]
str.split('',4) // ["a", "b", "c", "d"]
str.split('',20) // ["a", "b", "c", "d", "e", "f", "g", "h", "g", "f", "e", "d", "c", "b", "a"]

構文: string.split(separator,limit)

セパレーター: 必須。文字列または正規表現、このパラメータで指定された場所から文字列を分割します

制限: オプション。このパラメータは、返される配列の最大長を指定します。このパラメータが設定されている場合、このパラメータで指定された配列よりも多くの部分文字列は返されません。このパラメータが設定されていない場合、文字列の長さに関係なく文字列全体が分割されます。

文字列の傍受

スライス()

文字列の一部を抽出し、抽出した部分を新しい文字列として返します。

str.slice(1,3) // bc
str.slice(-3,-1) // cb

構文: string.slice(start,end)

start: 必須。 抽出するセグメントの開始インデックス。最初の文字は位置 0 になります。負の数の場合は末尾から切り取られます。

end: オプション。 切り捨てられるセグメントの末尾のインデックス。このパラメータを指定しない場合、抽出される部分文字列には元の文字列の先頭から末尾までの文字列が含まれます。このパラメータが負の場合、文字列の末尾からの位置を指定します。

開始が負の数の場合、終了は開始より大きく、0より小さくなければなりません。

このメソッドによって返される部分文字列には、先頭の文字が含まれますが、末尾の文字は含まれません。

サブストラクチャ()

開始添え字から始まる文字列から指定された数の文字を抽出するために使用されます。

str.substr(5) // fghgfedcba
str.substr(5,3) // fgh

構文: string.substr(start,length)

start: 必須。抽出する部分文字列の開始インデックス。数値である必要があります。負の数の場合、パラメータは文字列の末尾から始まる位置を宣言します。末尾から始まることを示す負の数にすることもできます。

長さ: オプション。部分文字列内の文字数。数値である必要があります。このパラメータを省略すると、文字列の先頭から末尾までの文字列が返されます。

部分文字列()

文字列内の指定された2つの添え字の間の文字を抽出するために使用します。

str.substring(3,5) // de
str.substring(5,3) // de

構文: string.substring(start, end)

start: 必須。抽出する部分文字列の最初の文字の文字列内の位置を指定する負でない整数。

end: オプション。抽出する部分文字列の最後の文字の文字列内の位置より 1 大きい非負の整数。このパラメータを省略すると、返される部分文字列は文字列の末尾で終了します。

知らせ:

start も end も負の数値を受け入れません。返される部分文字列には start が含まれますが、end は含まれません。start = end の場合、空の文字列が返されます。start < end の場合、メソッドは 2 つのパラメータを自動的に交換します。

文字列の大文字と小文字の変換

小文字に変換()

文字列を小文字に変換します。

t = 'AXC' とします
t.toLowerCase() // axc

大文字に変換()

文字列を大文字に変換します。

str.toUpperCase() // ABCDEFGHGFEDCBA

文字列パターンマッチング

交換する()

文字列内の一部の文字を他の文字に置き換えたり、正規表現に一致する部分文字列を置き換えたりするために使用されます。

str.replace('b',11) // a11cdefghgfedcba
str.replace(/b/g,11) // a11cdefghgfedc11a g: はグローバルを意味します。そうでない場合は、デフォルトで最初のものを置き換えます。i: 大文字と小文字を区別しないことを意味します。

構文: string.replace(oldValue, newValue)

oldValue: 必須。置換する部分文字列またはパターンを指定する RegExp オブジェクト。値が文字列の場合、最初に RegExp オブジェクトに変換されるのではなく、取得されるリテラル テキスト パターンとして扱われます。

newValue: 必須。文字列値。置換テキストまたは置換テキストを生成する関数を指定します。

すべて置換()

replace() メソッドのグローバル置換:

str.replace(/b/g,11) str.replaceAll('b',11)と同等です。

マッチ()

文字列内の指定された値を検索したり、1 つ以上の正規表現に一致するものを検索したりするために使用されます。このメソッドは indexOf() や lastIndexOf() に似ていますが、文字列内の位置ではなく指定された値を返します。

str.match('ghg') // ["ghg", インデックス: 6, 入力: "abcdefghgfedcba", グループ: 未定義]
str.match(/ghg/g) // ["ghg"]
str.match(/a/g) // ["a", "a"]
str.match(/t/g) // null

構文: string.match(regexp)

regexp 必須。一致させるパターンを指定する RegExp オブジェクト。

このメソッドは、一致する結果を含む配列を返します。この配列の内容は、regexp にグローバル フラグ g があるかどうかによって異なります。

検索()

文字列内の指定された部分文字列を検索したり、正規表現に一致する部分文字列を検索したりするために使用されます。

str.search(/ghg/) // 6
str.search(/a/) // 0
str.search(/a/g) // 0
str.search(/t/g) // -1

構文: string.search(value)

regex は、文字列内で検索される部分文字列、または検索される RegExp オブジェクトになります。

知らせ:

大文字と小文字を区別しない検索を実行するには、i フラグを追加します。このメソッドはグローバル マッチングを実行せず、フラグ g を無視します。つまり、最初の成功したマッチングの結果のみが返されます。一致する部分文字列が見つからない場合は -1 が返されます。 regexp に一致する str 内の最初の部分文字列の開始位置を返します。

文字列から空白を削除する

トリム()

文字列の先頭と末尾の空白文字を削除するために使用されます。このメソッドは元の文字列を変更しません。このメソッドは、null、undefined、および Number 型には適用できません。

s = ' 123 ' とします
s.trim() // '123'

トリム開始()

文字列の先頭の空白を削除するために使用されます。このメソッドは元の文字列を変更しません。

s = ' 123 ' とします
s.trimStart() // '123'

トリム終了()

文字列の末尾の空白文字を削除するために使用されます。このメソッドは元の文字列を変更しません。

s = ' 123 ' とします
s.trimEnd() // '123'

他の型は文字列に変換されます

文字列を変換する()

適用対象: BooleanArrayNumber

arr = [1,2,3]とする
数値を123とします
ブール値を true にする
obj = {a:1} とします
arr.toString() // '1,2,3'
num.toString() // '123'
bool.toString() // 'true'
obj.toString() // '[オブジェクト オブジェクト]'

構文: notStr.toString()

弦()

適用対象: BooleanArrayNumber

arr = [1,2,3]とする
数値を123とします
ブール値を true にする
obj = {a:1} とします
文字列(arr) // '1,2,3'
文字列(数値) // '123'
文字列(bool) // 'true'
String(obj) // '[object オブジェクト]'

構文: String(notStr)

暗黙的な変換

非文字列 + 文字列 = 文字列。まず元のデータ型を暗黙的に文字列に変換し、次に新しい文字列を追加します。

適用対象: BooleanArrayNumbernull

arr = [1,2,3]とする
数値を123とします
ブール値を true にする
obj = {a:1} とします
ar+'' // '1,2,3'
arr+'t' // '1,2,3t'
数字+'t' // '123t'
bool+'' // 'true'
obj+'' // '[オブジェクト オブジェクト]'
null+'' // 'null'

JSON.文字列化()

適用対象: BooleanArrayNumbernullundefined

arr = [1,2,3]とする
数値を123とします
ブール値を true にする
obj = {a:1} とします
JSON.stringify(arr) // '[1,2,3]' は括弧 [] を保持します
JSON.stringify(数値) // '123'
JSON.stringify(bool) // 'true'
JSON.stringify(obj) // '{"a":1}'
JSON.stringify(null) // 'null'
JSON.stringify(NaN) // 'null'

JSON.parse()を使用して復元する

arr = [1,2,3]とする
数値を123とします
ブール値を true にする
obj = {a:1} とします
JSON.parse(JSON.stringify(arr)) // [1,2,3]
JSON.parse(JSON.stringify(num)) // 123
JSON.parse(JSON.stringify(bool)) // 真
JSON.parse(JSON.stringify(obj)) // {a:1}
JSON.parse(JSON.stringify(null)) // null
JSON.parse(JSON.stringify(NaN)) // null

文字列を繰り返す

繰り返す()

元の文字列を n 回繰り返して新しい文字列を返します。

'cv'.repeat(3) // 'cvcvcv'
'cv'.repeat(0) // ''
'cv'.repeat(2.6) // 'cvcv'
'cv'.repeat('3') // 'cvcvcv'
'cv'.repeat('3a') // ''

構文: string.repeat(number)

数値: 繰り返し回数

知らせ:

0 の場合は、空の部分文字列が返されます。負の数または無限大の整数に切り捨てられた場合は、エラーが報告されます。0 から -1 までの負の小数または NaN は 0 に相当します。数値が文字列の場合は、最初に数値型に変換されます。数値型の文字列は、対応する数値に自動的に変換され、次に 0 に相当する非数値型の文字列が繰り返されます。

パディング文字列の長さ

パッド開始()

ヘッダーの完了

t = 'mosowe' とします
t.padStart(1,'nb') // 'モソウェ'
t.padStart(10,'nb') // 'nbnbmosowe'
t.padStart(10,'') // 'モソウェ'
t.padStart(10) // 'モソウェ'

構文: string.padStart(length,str)

長さ: パディング後の文字列の長さ

str: 補完する文字列

知らせ:

元の文字列の長さが指定された最小長以上である場合、元の文字列が返されます。補完する文字列と元の文字列の長さの合計が指定された最小長を超える場合、2 番目のパラメータが省略されていると、補完された文字列は切り捨てられます。デフォルトでは、長さを補完するためにスペースが使用されます。2 番目のパラメータが空の文字列の場合、補完は実行されません。

パッド終了()

終了完了については、padStart() を参照してください。

文字列を数値に変換するparseInt()

parseInt("10") // 10
parseInt("10.11") // 10
parseInt("16",8) // 14 = 8+6 なので、8進数に変換 parseInt("010") // 10。ブラウザによっては8になるというものもありますが、国内のブラウザをいくつか試してみたところ、すべて10でした。
parseInt("") // NaN
parseInt("unh") // NaN
parseInt("123tt") // 123
parseInt("tt123") // NaN

構文: parseInt(string, radix)

文字列: 必須。解析する文字列

基数: オプション。解析する数値の基数を示します。値の範囲は 2 ~ 36 で、デフォルトは 10 です。

パースフロート()

10進浮動小数点数に変換する

parseFloat("10") // 10
parseFloat("10.11") // 10.11
parseFloat("10.11.11111") // 10.11
parseFloat("010") // 10
parseFloat("") // NaN
parseFloat("unh") // NaN
parseFloat("123tt") // 123
parseFloat("tt123") // NaN

構文: parseFloat(string)

JSON.parse()

JSON.parse("10") // 10
JSON.parse("10.11") // 10.11
JSON.parse("10.11.11111") // エラー
JSON.parse("010") // エラー
JSON.parse("") // エラー
JSON.parse("unh") // エラー
JSON.parse("123tt") // エラー
JSON.parse("tt123") // エラー

構文: JSON.parse(string)

番号()

数値('') // 0
数値('10') // 10
数値('010') // 10
数値('2.3') // 2.3
数値('2.3.3') // NaN
数値('2TT') // NaN
数値('TT2') // NaN

構文: Number(string)

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • 一般的な JavaScript 文字列メソッド 28 個と使用方法のヒントのまとめ
  • JavaScript でよく使われるいくつかの文字列メソッドの概要 (初心者必読)
  • 日付型フィールドをJSON文字列に変換するJavaメソッド
  • JavaScript で文字列内の最長の単語を見つける 3 つの方法 (推奨)
  • JavaScript 文字列を数値に変換する簡単な方法
  • JavaScript 文字列処理の一般的な操作方法のまとめ

<<:  MySQL の DOS ウィンドウの文字化け問題を解決する方法

>>:  nginxでイメージサーバーを構築する手順の詳しい説明(ルートとエイリアスの違い)

推薦する

Vue の匿名スロットと名前付きスロットの詳細な説明

目次1. 匿名スロット2. 名前付きスロット要約するスロット (slot) は、Vue のコンテンツ...

MySQLはライブラリ内の主キーなしでテーブルインスタンスコードを素早く取得します

概要MySQL データベースで主キーのないテーブルを表示するための SQL ステートメントをいくつか...

数千万データを持つMySQLテーブルを最適化する実践記録

序文まずここで説明させてください。インターネット上では、Alibaba では 500 万のデータを異...

VMware15 centos7 ブリッジモード ssh に突然アクセスできなくなる問題を解決する

仮想マシンに独自の LAN IP を持たせたいので、テストを容易にするためにブリッジを使用します。 ...

MySQL InnoDBセカンダリインデックスのソート例の詳細な説明

ソート問題最近、Geek Time の「45 Lectures on MySQL Practice」...

HTML テーブルの使い方 (Web ページの視覚効果を表示する)

NetEase Blog で HTML を使用する場合、テンプレートに直接コードを追加できることは...

MySQLはgroup_concat()関数に基づいて複数のデータ行を結合します

非常に便利な機能group_concat() について、マニュアルには次のように記載されています: ...

Docker の 4 つのネットワーク タイプの主な例

4 つのネットワーク タイプ:なし: コンテナのネットワーク機能を一切設定しません。--net=no...

dockercompose を使用して springboot-mysql-nginx アプリケーションをビルドする

前回の記事では、Docker を使用して、コンパイルされた jar パッケージをイメージに組み込む ...

Docker 可視化グラフィックツール portainer の詳細な説明

目次1. ポーテナーの紹介2. Portainer アーキテクチャの概要3. Portainerのイ...

Chrome デベロッパー ツールの詳細な紹介 - タイムライン

1. 概要ユーザーは、アクセスする Web アプリケーションがインタラクティブでスムーズに実行される...

Win10 システムに MySQL8.0.13 をインストールする際の問題と解決策

オペレーティングシステム: Windows10 MySQL バージョン: 8.0.13-winx64...

MySQL マスタースレーブレプリケーションの詳細な分析

序文: MySQL では、マスター/スレーブ アーキテクチャが最も基本的かつ最も一般的に使用されるア...

CSS3でよく使われるスタイルの詳しい解説[基本的なテキストとフォントのスタイル]

概要: Web ページをより美しく見せるために、ここでは CSS3 でよく使用されるスタイルをいくつ...

画像比較を実現するjQueryプラグイン

この記事の例では、画像比較を実現するためのjQueryプラグインの具体的なコードを参考までに共有して...