JavaScript 「文字列の操作」 string.~について

JavaScript

文字列の文字数を取得

1バイト、2バイトに関係なく文字数を返します
string.length()

const str = "文字数のtest";
console.log(str.length);// 8

上記の例では文字数8が返されます

文字列内の指定の文字を取得

string[n]; 文字列を配列のように扱って、1文字目を0として指定位置の文字を返します

console.log(str[5]); // e

上記の例では、str変数に格納された”文字数のtest”の指定値[5]で6文字目の「e」が返されます

文字列の部分検索をする

string.indexOf(検索文字列 [, 検索開始位置]);

文字列内で検索文字列を検索して最初の位置を返します

console.log(str.indexOf('te')); //4

上記の例では、str変数内で”te”を検索して最初の位置4を返します
開始位置を指定した場合は、検索開始位置から以降を検索します
もし値が見つからない場合は-1を返します
※大文字、小文字、全角、半角を区別します
※検索開始位置の規定値は 0 です

文字列内に指定の文字が含まれているかを調べる

string.includes(検索文字列, 検索開始位置)

str.includes("test",4) // true

上記例では、str変数の指定値4、文字位置5文字目から検索し”test”があるか調べます
戻り値は、有ればtrue 無ければfalse が返されます
※大文字、小文字、全角、半角を区別します
※検索開始位置の規定値は 0 です

指定の区切り文字で配列に分割します

string.split(区切り文字、区切り上限数)

省略または区切り文字が無い場合は全体の文字列がそのまま代入されます
区切り文字が(“”)で指定した場合すべての文字が分割されます
区切り上限数が設定された場合は、値まで分割され以降は対象としません

const str2 = "西暦 2023 07 05 天候 晴れ";
const days = str2.split(' ');

const year = days[1];
const month = days[2];
const day = days[3];
console.log(year); // 2023

空白を取り除きます

string.trim()

//変数を用意します
const aa = "  abc  ";
//前後の空白を取り除きますbbに設定します
const bb = aa.trim();

console.log(bb); //”abc”

//後ろの空白を取り除きます
const bb1 = aa.trimEnd();
console.log(bb1);//”  abc”

//前の空白を取り除きます
const bb2 = aa.trimStart();
console.log(bb2); // “abc  “

上記の例では、変数aaの値には影響しません

文字列の置換

文字列内の一部の文字列を指定した文字で置き換えます

文字列.replace(置換文字列, 置換後文字列)

置換文字列は、オブジェクトやリテラルで指定します
文字列内で一致した部分が置換後文字列で置き換えられます

置換後文字列では、文字列内に最初に出てきたものだけが置き換えられます
置換後文字列には、文字列またはパターンで置き換えられます
置換後文字列が空文字の場合は置換部分の文字列は削除されます
置換後文字列を生成するための関数を指定することもできます
(関数の指定についてはここでは割愛します)

また元となる文字列は変更される事なく、返値として結果の文字列を返します

文字列に含まれるすべての置換文字列を置き換える場合は、正規表現でgフラグを含める必要があります

例)置換文字列の指定を下記のように正規表現にgフラグを使用します
“置換文字”  →  /置換文字/g

const strp = "aaa bbb ccc";

const fin = strp.replace("bb","xx");
console.log(fin);// "aaa xxb ccc" bbbの最初のbbがxxに置き換わる

const fi2 = strp.replace("b","x");
console.log(fi2);// "aaa xbb ccc" bbbの最初のbがxに置き換わる
 
const fi3 = strp.replace(/b/g,"x");
console.log(fi3);// "aaa xxx ccc" 文字列内の全てのbがxに置き換わる

const fi4 = strp.replace("b c","xx");
console.log(fi4);// "aaa bbxxcc" b空白c が xx に置き換わる

const fi5 = strp.replace(/ /g,"");

console.log(fi5);// "aaabbbccc" 文字列内の全ての空白が削除される

文字列内のすべての置換文字を対象とする場合は
String.replaceAll() メソッドを使用することもできます
こちらでは、リテラルで指定した置換文字も参照文字列の全ての文字列が対象となります
※正規表現で指定する場合は同じくgフラグを使用する必要があります

今回は以上です
それではまた・・・

コメント