R×stringr::str_width 文字列の幅を計算する

R言語のstringrパッケージに含まれているstr_width()関数について解説します。この関数は、「文字列において、等幅フォントで印刷・表示したときに、文字列がどれだけの表示幅(横幅)を占めるかを計算したい」ときに使える関数です。一見str_length()(文字数を数える関数)と同じように思えますが、日本語(全角文字)や絵文字を扱うときに真価を発揮します。

stringrパッケージは、文字列データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。

概要

str_width()は、文字列の幅を取得するための関数です。str_width()は、固定幅フォントで印刷する場合(つまり、コンソールで印刷する場合)に文字列が占めるスペースの量を返します。

使い方


str_width(string)

引数

string

文字ベクトルまたは文字ベクトルに変換可能なものを指定します。

戻り値

文字列と同じ長さの数値ベクトル。

使用例

準備

あらかじめ、tidyverseパッケージまたはstringrパッケージを読み込んでおきます。


# library(tidyverse)でもよい
library(stringr)

文字列の幅を計算する

文字列の幅を取得するには次のようにします。


s <- c("😀", "Z")
str_width(s)

[1] 2 1

ちなみに、これの文字列の長さは次になります。


s <- c("😀", "Z")
str_length(s)

[1] 1 1

参考文献