使小写等于R中的大写字母

Cap*_*emo 1 string compare r case-insensitive

我需要检查两个表之间的2个字符串是否相同.问题是表1是小写字母,表格2是大写字母.我需要在R中创建这个函数,所以它必须给出一个TRUE值,例如在这种情况下:

    "this is a string" == "THIS IS A STRING"
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?感谢您的时间!!!

gag*_*ews 6

您可以使用包中的stri_cmp_equiv()功能stringi.它测试两个字符串的规范等价,并且是与语言环境相关的.此外,可以调整ICU的Collat​​or,以便例如比较不区分大小写.

library(stringi)
stri_cmp_equiv("this is a string", "THIS IS A STRING", strength=2)
## [1] TRUE
stri_cmp_equiv("hladn\u00FD", "hladny", strength=1, locale="sk_SK") # hladný
## [1] TRUE
stri_cmp_equiv(stri_trans_nfkd("\u0105"), "\u105") # "a?"
## [1] TRUE
stri_cmp_equiv("\ufb00", "ff", strength=2) # "?"
## [1] TRUE
stri_cmp_equiv("G\u00e4rtner", "Gaertner", locale="de_DE@collation=phonebook", strength=1L) # "Gärtner"
## [1] TRUE
Run Code Online (Sandbox Code Playgroud)

或者,如果它是一个太重的机器,你可以 - 正如@docendodiscimus建议,测试是否

tolower("a string") == tolower("A STRING")
## [1] TRUE
Run Code Online (Sandbox Code Playgroud)