10 приёмов работы со строками с помощью пакета stringr
- Длинна слов
statement <- c("R", "is powerful", "tool", "for data", "analysis")
Для того, что бы рассчитать длину каждого слова в векторе statement используйте функцию str_length().
- Объединение строк
Объединить строки можно функцией str_c().
str_c("test",1:10, sep="-")
[1] "test-1" "test-2" "test-3" "test-4" "test-5" "test-6" "test-7" "test-8" "test-9"
[10] "test-10"
Ещё один пример:str_c("test",1:10, sep=",")
[1] "test,1" "test,2" "test,3" "test,4" "test,5" "test,6" "test,7" "test,8" "test,9"
[10] "test,10"
- Замена пустых значений
Отсутствующие значения можно заменить функцией str_replace_na():
str_replace_na(c("My Name", NA, "Jhon"),".")
[1]"My Name" "." "Jhon"
- Извлечение подстроки
Ещё одна полезная функция — str_sub()
str_sub(statement,1,5)
[1]"R" "is po" "tool" "for d" "analy"
str_sub(statement, 4,-1)<-"Wow"
statement
[1]"RWow" "is Wow" "tooWow" "forWow" "anaWow"
- Разделение строк
Для разделение строки по указанному символу используйте str_split():
str_split(statement,pattern=" ")
[[1]]
[1] "RWow"
[[2]]
[1] "is" "Wow"
[[3]]
[1] "tooWow"
[[4]]
[1] "forWow"
[[5]]
[1] "anaWow"
- Извлечение подстроки через регулярные выражения
Для этой манипуляции используйте функцию str_subset():
str_subset(colors(),pattern="^orange|red$")
[1] "darkred" "indianred" "mediumvioletred" "orange" "orange1"
[6] "orange2" "orange3" "orange4" "orangered" "orangered1"
[11] "orangered2" "orangered3" "orangered4" "palevioletred" "red"
[16] "violetred"
- HTML отображение
Функция str_view() позволяет вам вывести строки в виде HTML страницы в окне просмотра.
str_view(statement,"a.")
- Посчитать количество символов в строке
Используйте функцию str_count() для расчёта количества символов в строке.
str_count(statement,"[ae]")
[1]0 0 0 0 2
- Поиск первого совпадения в строке
Найти первое вхождение подстроки позволяет функция str_locate()
str_locate(statement,"[ae]")
start end
[1,] NA NA
[2,] NA NA
[3,] NA NA
[4,] NA NA
[5,] 1 1
- Преобразование регистра текста
Функции str_to_lower(), str_to_upper(), str_to_title()позволяют вам изменять регистр текста:
str_to_lower(statement)
[1]“rwow” “is wow” “toowow” “forwow” “anawow”
str_to_upper(statement)
[1]“RWOW” “IS WOW” “TOOWOW” “FORWOW” “ANAWOW”
str_to_title(statement)
[1]“Rwow” “Is Wow” “Toowow” “Forwow” “Anawow”