備忘ログ

チラシの裏的備忘録&メモ

メモ:エスケープシーケンスは`\`+`1文字`はRの`{base}`の`nchar()`や、`{stringr}`の`str_length()`で文字数カウントするとき、1文字でカウントされる

メモ:エスケープシーケンスは\+1文字はRの{base}nchar()や、{stringr}str_length()で文字数カウントするとき、1文字でカウントされる。テキスト処理していてちょっとハマったのでメモ。

というかエスケープシーケンスの最初の\文字はカウントされていないのか?それとも併せて1文字とみなされている?writeLines()のようなもので表現される状態の文字でカウントする?のか詳細はよくわかっていない(今後調べるかも)。

あと、エスケープシーケンスを含めてちゃんと(?)2文字でカウントする方法もわからなかった。

改行\nの場合

writeLines("123\n123")
## 123
## 123
nchar("123\n123")
## [1] 7
stringr::str_length("123\n123")
## [1] 7

タブスペース\t

writeLines("123\t123")
## 123  123
nchar("123\t123")
## [1] 7
stringr::str_length("123\t123")
## [1] 7

バックスラッシュ\\

writeLines("123\\123")
## 123\123
nchar("123\\123")
## [1] 7
stringr::str_length("123\\123")
## [1] 7

などなど。