Tôi muốn lọc ra các hàng của bảng chứa '*' trong giá trị chuỗi của cột. Chỉ kiểm tra cột đó.Làm thế nào để xác định xem một chuỗi "kết thúc bằng" một chuỗi khác trong R?
string_name = c("aaaaa", "bbbbb", "ccccc", "dddd*", "eee*eee")
zz <- sapply(tx$variant_full_name, function(x) {substrRight(x, -1) =="*"})
Error in FUN(c("Agno I30N", "VP2 E17Q", "VP2 I204*", "VP3 I85F", "VP1 K73R", :
could not find function "substrRight"
Giá trị thứ 4 của zz phải là TRUE theo điều này.
trong python có chức năng endswith cho chuỗi [string_s.endswith ('*')] Có điều gì tương tự như trong R?
Ngoài ra, có phải vấn đề vì '*' là một ký tự vì nó có nghĩa là bất kỳ ký tự nào không? grepl cũng không hoạt động.
> grepl("*^",'dddd*')
[1] TRUE
> grepl("*^",'dddd')
[1] TRUE
Bạn có thể thoát khỏi '*' 'grepl ("\\ *", 'dddd *') '. Để tìm các chuỗi kết thúc bằng '*', bạn có thể sử dụng 'grepl (" \\ * $ ", string_name)' – jdharrison