投稿

絵文字を正しく抽出するには

絵文字を正しく抽出するには

絵文字などサロゲートペアで表現される文字を含む文字列を、1文字ずつ正しく分割したいときに使う関数。

通常の str.split('') ではサロゲートペアが2文字に分解されてしまうが、この正規表現を使うと1つの絵文字を1要素として配列に格納できる。

function stringToArray (str) {
    return str.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || [];
}

JavaScriptでのサロゲートペア文字列のメモ - Qiita