Rのエスケープ文字はダブルのエスケープ
URLの文字分割したい時など、?とかの特殊記号が登場する。
しかし、単純に?でstrsplit関数を使うと、文字が全部分解されてしまう。Fu*k
これは?がメタ文字として扱われているためで、?を文字として扱って分割するにはエスケープを2つもつけないといけない。
以下、コード例
> test_vec <- "id5573746623646?dhdhcdsvcydsucusdv" > strsplit(test_vec, split="?") [[1]] [1] "i" "d" "5" "5" "7" "3" "7" "4" "6" "6" "2" "3" "6" "4" "6" "?" "d" "h" "d" "h" "c" "d" "s" "v" "c" "y" "d" "s" "u" "c" "u" "s" "d" "v" > strsplit(test_vec, split="\?") エラー: ""\?" で始まる文字列の中で '\?' は文字列で認識されないエスケープです > strsplit(test_vec, split="\\?") [[1]] [1] "id5573746623646" "dhdhcdsvcydsucusdv"