我在比较R中的两个字符串时遇到了麻烦。有什么方法可以做到吗?就像在Java中有String.equals(AnotherString)一样,在R中有类似的函数吗?
String.equals(AnotherString)
ndh0cuux1#
其实很简单
s1 <- "string" s2 <- "String" # Case-sensitive check s1 == s2 # Case-insensitive check tolower(s1) == tolower(s2)
第一种情况下的输出为FALSE,第二种情况下的输出为TRUE。您也可以使用toupper()。
FALSE
TRUE
toupper()
laik7k3q2#
您可以从stringr 1.5.0使用str_equal。它包含一个ignore_case参数:
stringr 1.5.0
str_equal
ignore_case
library(stringr) s1 <- "string" s2 <- "String" str_equal(s1, s2) #[1] FALSE str_equal(s1, s2, ignore_case = TRUE) #[1] TRUE
str_equal使用Unicode rules来比较字符串,这在某些情况下可能是有益的:
a1 <- "\u00e1" a2 <- "a\u0301" c(a1, a2) #[1] "á" "á" a1 == a2 #[1] FALSE str_equal(a1, a2) #[1] TRUE
2条答案
按热度按时间ndh0cuux1#
其实很简单
第一种情况下的输出为
FALSE
,第二种情况下的输出为TRUE
。您也可以使用toupper()
。laik7k3q2#
您可以从
stringr 1.5.0
使用str_equal
。它包含一个ignore_case
参数:str_equal
使用Unicode rules来比较字符串,这在某些情况下可能是有益的: