R logo

文字列のフォーマットを変更する時には、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."