Skip to main content
AI Assist is now on Stack Overflow. Start a chat to get instant answers from across the network. Sign up to save and share your chats.
deleted 266 characters in body
Source Link
s_baldur
  • 34.6k
  • 4
  • 43
  • 80

With regex flavourregex:

# If sorting doesn't matter: gsub("(.)(?=.*\\1)|,| ", "", paste(df$V1, df$V2), perl = TRUE) # [1] "AB" "A" "AB" "A" "BAC" "AB" "A" "C" # With stringi: library(stringi) stri_extract_all(paste(df$V1, df$V2), regex = "[A-Z]") |> sapply(\(x) paste0(sort(unique(x)), collapse = "")) # [1] "AB" "A" "AB" "A" "ABC" "AB" "A" "C"  

With regex flavour:

# If sorting doesn't matter: gsub("(.)(?=.*\\1)|,| ", "", paste(df$V1, df$V2), perl = TRUE) # [1] "AB" "A" "AB" "A" "BAC" "AB" "A" "C" # With stringi: library(stringi) stri_extract_all(paste(df$V1, df$V2), regex = "[A-Z]") |> sapply(\(x) paste0(sort(unique(x)), collapse = "")) # [1] "AB" "A" "AB" "A" "ABC" "AB" "A" "C"  

With regex:

gsub("(.)(?=.*\\1)|,| ", "", paste(df$V1, df$V2), perl = TRUE) # [1] "AB" "A" "AB" "A" "BAC" "AB" "A" "C" 
Source Link
s_baldur
  • 34.6k
  • 4
  • 43
  • 80

With regex flavour:

# If sorting doesn't matter: gsub("(.)(?=.*\\1)|,| ", "", paste(df$V1, df$V2), perl = TRUE) # [1] "AB" "A" "AB" "A" "BAC" "AB" "A" "C" # With stringi: library(stringi) stri_extract_all(paste(df$V1, df$V2), regex = "[A-Z]") |> sapply(\(x) paste0(sort(unique(x)), collapse = "")) # [1] "AB" "A" "AB" "A" "ABC" "AB" "A" "C"