JavaScriptで後ろから部分文字列を取得する

JavaScript で文字列の後ろから部分文字列を切り出すには、対象文字列の長さ-部分文字列の長さの位置以降の文字列を取得する正規表現を使用します。

substring メソッドでは、絵文字や「𠮷」などのサロゲートペアを使った 2 コードユニットで表現される文字などが正しく処理できないため注意が必要です。

ソースコード

/**
 * 指定された文字列の後ろから部分文字列を取得します
 *
 * @param {string} str 文字列
 * @param {number} len 部分文字列の長さ(桁数)
 * @returns {string} 部分文字列
 */
const behindSubstring = (str, len) => {
	if (len < 0) {
		len = 0;
	}

	const strLen = Array.from(str).length;

	if(strLen < len) {
		return str;
	}

	const reg = new RegExp(`^.{${strLen - len}}(.{0,${len}})`, 'u');
	return str.match(reg)?.[1];
};

検証

文字列と部分文字列の長さ(桁数)を指定して関数を実行してください。

引数の入力

behindSubstring(
 "
,
 ");

検証結果

Follow me!

photo by:Thought Catalog