gpt4 book ai didi

r - 字符串问题 : remove patterns, "//, "///,“////,位于字符串末尾

转载 作者:行者123 更新时间:2023-12-01 09:22:06 25 4
gpt4 key购买 nike

我有一列末尾可能包含“//”。它可能是一个“/”,也可能是三个或更多。如何删除字符串末尾的斜杠?


df <- structure(list(hej = c("UXCG40///", "UXCD00///", "UXCD00///",
"UXCC77///", "UXCC77///", "UXCA00///", "UXCD00///", "UXCC00/UXCD00//",
"UXCD00///", "UXCC00/UXCD00//", "UXCA00///", "UXCC00///", "UXCG40///",
"UXCC00/UXCD00//", "UXCE30///", "UXCD00///", "UXCD00///", "UXCC00///",
"UXCA00///")), row.names = c(NA, -19L), class = c("tbl_df", "tbl",
"data.frame"))



print(df[5: 19, ])
#> [1] "UXCC77///" "UXCA00///" "UXCD00///"
#> [4] "UXCC00/UXCD00//" "UXCD00///" "UXCC00/UXCD00//"
#> [7] "UXCA00///" "UXCC00///" "UXCG40///"
#> [10] "UXCC00/UXCD00//" "UXCE30///" "UXCD00///"
#> [13] "UXCD00///" "UXCC00///" "UXCA00///"

最佳答案

只需指定 + 即可,它表示一个或多个匹配字符。在本例中,它是 / 并且还指定位置 $ (字符串结尾的元字符) - 这样,它就不会匹配 / 在任何其他位置

library(dplyr)
library(stringr)
df1 <- df %>%
mutate(hej = str_remove(hej, "/+$"))

df1
# A tibble: 19 x 1
# hej
# <chr>
# 1 UXCG40
# 2 UXCD00
# 3 UXCD00
# 4 UXCC77
# 5 UXCC77
# 6 UXCA00
# 7 UXCD00
# 8 UXCC00/UXCD00
# 9 UXCD00
#10 UXCC00/UXCD00
#11 UXCA00
#12 UXCC00
#13 UXCG40
#14 UXCC00/UXCD00
#15 UXCE30
#16 UXCD00
#17 UXCD00
#18 UXCC00
#19 UXCA00

base R中,它将是sub

df$hej <- sub("/+$", "", df$hej)

关于r - 字符串问题 : remove patterns, "//, "///,“////,位于字符串末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57028425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com