Замените последнюю запятую в символе на &-Sign в R

Опубликовано: 9 Января, 2023

Строка в R — это последовательность символов, которая содержит числа, символы и специальные символы. Символы можно изменять, вставлять и удалять в строках. R предоставляет большое количество функций и внешних пакетов для внесения поправок в строки. В этой статье мы увидим, как заменить последнюю запятую в символе на &-Sign в языке программирования R.

Способ 1: использование метода sub()

Метод sub() в R используется для замены указанной части строки новой строкой. Использование метода sub() также совместимо с регулярными выражениями. Он имеет следующий синтаксис:

Syntax: sub(search, replacement, str)

Arguments : 

  • search – The search term to look into the string
  • replacement – The new string to replace the search term with
  • str – The string to carry out the replacement in

R




# creating a dummy string 
str <- "Hi Neena, Reena, Teena"
print("Input String")
print(str)
  
# replace the last comma with &
out_str <- sub(",([^,]*)$", " &\1", str) 
print("Output String")
print(out_str)

Выход

[1] "Input String"
[1] "Hi Neena, Reena, Teena"
[1] "Output String"
[1] "Hi Neena, Reena & Teena"

Способ 2: Использование пакета stringr

Пакет stringr в R используется для выполнения манипуляций со строками. Его можно скачать и установить в рабочее пространство с помощью следующей команды:

install.packages("stringr")

В этом пакете содержится ряд методов, которые можно использовать для модификации строк. Первоначально к строке применяется метод str_locate_all() для поиска всех вхождений строки с запятой.

R




# installing the reqd libraries
library("stringr")
  
# creating a dummy string 
str <- "Hi A, B, C"
print("Input String")
print(str)
  
# locating the places of comma occurrence
loc_comma <- str_locate_all(str, ",")[[1]]  
  
# calculating the number of positions 
# in comma array
comma_ele <- nrow(loc_comma)
  
# fetching the last comma position
last_loc_comma <- loc_comma[ comma_ele , ] 
  
# replace the last comma with & symbol 
str_sub(str, last_loc_comma[1], 
        last_loc_comma[2]) <- " &"  
print("Output String")
print(str)

Выход

[1] "Input String"
[1] "Hi A, B, C"
[1] "Output String"
[1] "Hi A, B & C"

Способ 3: Использование пакета stringi

Пакет stringi в R используется для выполнения манипуляций со строками. Его можно скачать и установить в рабочее пространство с помощью следующей команды:

install.packages("stringi")

Метод stri_replace_last() напрямую используется для замены последнего вхождения указанного шаблона в строке. Метод имеет следующий синтаксис:

Syntax: stri_replace_last(str, fixed, replacement)

Arguments : 

  • str – The string to replace the character in 
  • fixed – The fixed pattern to look for
  • replacement – The string to replace the fixed pattern with

Здесь в последнем случае строка символов «,»

R




# installing the reqd libraries
library("stringi")
  
# creating a dummy string 
str <- "Hi A, B, C"
print("Input String")
print(str)
  
# replacing the last comma with
# &
out_str <- stri_replace_last(
  str, fixed = ",", " &")  
  
# printing the output string
print("Output String")
print(out_str)

Выход

[1] "Input String"
[1] "Hi A, B, C"
[1] "Output String"
[1] "Hi A, B & C"

Способ 4: использование встроенных строковых методов

R содержит ряд встроенных методов для изменения данных и доступа к ним. Первоначально строка разбивается на разные сегменты с помощью метода strsplit(), который используется для разделения частей вектора символов, заданного в качестве аргумента, в методе strsplit(). Затем он делит его на разные подстроки с указанной подстрокой. Метод имеет следующий синтаксис:

R




# creating a dummy string 
str <- "Hi A, B, C"
print("Input String")
print(str)
  
# split the string characters
splt_str <- strsplit(str, "")
  
# divide the string into individual
# strings
str_unlist <- unlist(splt_str)   
  
# used to fetch the position of the 
# comma 
str_comma <- grep(",", str_unlist)
  
# replace the last position of
# the comma array with a & symbol 
str_unlist[tail(str_comma, 1)] <- " &" 
  
# remerge the string using empty spaces
out_str <- paste0(str_unlist, collapse = "")  
print("Output String")
print(out_str)

Выход

[1] "Input String"
[1] "Hi A, B, C"
[1] "Output String"
[1] "Hi A, B & C"