Простое решение с использованием str_extract
из пакета stringr
:
library(stringr)
tb$en <- str_extract(tb$x,"[A-z]+")
tb$ch <- str_extract(tb$x,"[^A-z]")
В случае, если существует более одного китайского символа, просто добавьте +
к [^A-z]
.
В качестве альтернативы используйте gsub
и обратную ссылку:
tb$en <- gsub("(\\w+).$", "\\1", tb$x)
tb$ch <- gsub("\\w+(.$)", "\\1", tb$x)
Еще одно решение объединяет символы Юникод с [ -~]+
и исключает их с [^ -~]+
:
tb$en <- str_extract(tb$x, "[ -~]+")
tb$ch <- str_extract(tb$x, "[^ -~]+")
Результат:
tb
# A tibble: 3 x 3
x en ch
<chr> <chr> <chr>
1 I我 I 我
2 love愛 love 愛
3 you你 you 你