文字列のフォーマットを変更する時には、stringr
パッケージに含まれているstr_to_upper()
, str_to_lower()
,
str_to_title()
, str_to_sentence()
等を使う。
これらの関数を使えば、大文字変換、小文字変換、タイトルケース変換、文の先頭を大文字にするなどの文字列操作を簡単に行える。
文字列のフォーマットを変更する関数
- 大文字にしたい →
str_to_upper()
- 小文字にしたい →
str_to_lower()
- タイトルケースにしたい →
str_to_title()
- 文の先頭の文字を大文字にしたい →
str_to_sentence()
利用にあたっては、stringr
パッケージをインストール&読み込みをしておく必要がある。
install.packages("stringr")
library(stringr)
str_to_upper()
すべての文字を大文字に変換する関数
基本構文
str_to_upper(string, locale = "en")
- 引数
string
: 変換する文字列または文字列ベクトルlocale
: 言語の指定(デフォルトは英語"en"
)。ロケールによっては "ß" を "SS" に変換するなどの動作が変わりる。
- 戻り値
- 文字列を大文字に変換した文字列
使用例
英語の文字列をすべて大文字に変換
str_to_upper("hello world")
output
"HELLO WORLD"
ベクトルのすべての文字を大文字に変換
str_to_upper(c("na", "cherry"))
output
"NA" "CHERRY"
ロケールの指定
str_to_upper("ß", locale = "de")
output
"SS"
- ドイツ語の「ß」(エスツェット) を大文字にすると、"SS" になる
ポイント
- すべての文字を大文字に変換
- ロケール (locale) による言語固有の動作がある(
locale = "de"
では ß が SS に変換)
str_to_lower()
すべての文字を小文字に変換する関数
基本構文
str_to_lower(string, locale = "en")
- 引数
string
: 変換する文字列または文字列ベクトルlocale
: ロケールの指定(言語に基づく動作の違いがありる)
- 戻り値
- 文字列を小文字に変換した文字列
使用例
すべての文字を小文字に変換
str_to_lower("HELLO WORLD")
output
"hello world"
ベクトルのすべての文字を小文字に変換
str_to_lower(c("NA", "CHERRY"))
output
"na" "cherry"
ロケールの指定
str_to_lower("I", locale = "tr")
output
"ı"
- トルコ語の大文字 "I" はロケールによって小文字が "ı"(ドットなしの小文字i)に変換される場合がある
ポイント
- すべての文字を小文字に変換
- ロケール (locale) による動作の違いがある(トルコ語の "I" は "ı" になる)
str_to_title()
各単語の先頭を大文字に変換する関数 (タイトルケース化)
基本構文
str_to_title(string, locale = "en")
- 引数
string
: 変換する文字列または文字列ベクトルlocale
: ロケールの指定(デフォルトは英語"en"
)
- 戻り値
- 各単語の先頭を大文字に変換した文字列
使用例
各単語の先頭を大文字に変換
str_to_title("good morning")
output
"Good Morning"
ベクトルのすべての文字をタイトルケースに変換
str_to_title(c("good morning", "how are you"))
output
"Good Morning" "How Are You"
ロケールの指定
str_to_title("ß", locale = "de")
output
"Ss"
- ロケールの指定を使用して、動作が異なる場合がある
ポイント
- 各単語の先頭を大文字にする (タイトルケース)
- ロケール (locale) の違いが考慮される(言語によって動作が異なる)
str_to_sentence()
文章の先頭の1文字を大文字に変換する関数 (文の先頭を大文字にする)
基本構文
str_to_sentence(string, locale = "en")
- 引数
string
: 変換する文字列または文字列ベクトルlocale
: ロケールの指定(デフォルトは英語"en"
)
- 戻り値
- 文章の最初の1文字だけを大文字に変換した文字列
使用例
文章の先頭を大文字に変換
str_to_sentence("good morning everyone.")
output
"Good morning everyone."
ベクトルのすべての文字を文の先頭を大文字に変換
str_to_sentence(c("good morning everyone.", "it's sunny."))
output
"Good morning everyone." "It's sunny."
ロケールの指定
str_to_sentence("ß", locale = "de")
output
"Ss"
- ロケールの指定により、動作が異なることがある
ポイント
- 文章の先頭の1文字だけを大文字に変換する
- ロケール (locale) による変化を考慮
str_to_upper/str_to_lower/str_to_title/str_to_sentenceのまとめ
関数 | 動作の説明 | 例 |
---|---|---|
str_to_upper() |
すべての文字を大文字に変換 | "hello world" → "HELLO WORLD" |
str_to_lower() |
すべての文字を小文字に変換 | "HELLO WORLD" → "hello world" |
str_to_title() |
各単語の先頭を大文字にする(タイトルケース) | "hello world" → "Hello World" |
str_to_sentence() |
文章の最初の1文字だけを大文字にする | "hello world." → "Hello world." |
やりたいこと | 使用する関数 | 例 |
---|---|---|
すべて大文字にしたい | str_to_upper() |
"hello world" → "HELLO WORLD" |
すべて小文字にしたい | str_to_lower() |
"HELLO WORLD" → "hello world" |
各単語の先頭を大文字にしたい | str_to_title() |
"hello world" → "Hello World" |
文の先頭だけを大文字にしたい | str_to_sentence() |
"hello world. it's sunny." → "Hello world. It's sunny." |
リンク
リンク
リンク
リンク