使小写字母等于R中的大写字母
Make lowercase equal to capital letters in R
我需要检查 2 个 table 之间的 2 个字符串是否相同。问题是 table 1 是小写字母,而 table 2 是大写字母。我需要在 R 中创建这个函数,所以它必须给出一个 TRUE 值,例如在这种情况下:
"this is a string" == "THIS IS A STRING"
谁能帮帮我?感谢您的宝贵时间!!!
为此,您可以使用 stringi
包中的 stri_cmp_equiv()
函数。它测试两个字符串的规范等价性并且依赖于语言环境。此外,可以调整 ICU 的整理器,例如比较不区分大小写。
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") # "ą"
## [1] TRUE
stri_cmp_equiv("\ufb00", "ff", strength=2) # "ff"
## [1] TRUE
stri_cmp_equiv("G\u00e4rtner", "Gaertner", locale="de_DE@collation=phonebook", strength=1L) # "Gärtner"
## [1] TRUE
或者,如果它对于您的需求而言过于笨重,您可以 - 正如@docendodiscimus 所建议的那样,测试是否
tolower("a string") == tolower("A STRING")
## [1] TRUE
我需要检查 2 个 table 之间的 2 个字符串是否相同。问题是 table 1 是小写字母,而 table 2 是大写字母。我需要在 R 中创建这个函数,所以它必须给出一个 TRUE 值,例如在这种情况下:
"this is a string" == "THIS IS A STRING"
谁能帮帮我?感谢您的宝贵时间!!!
为此,您可以使用 stringi
包中的 stri_cmp_equiv()
函数。它测试两个字符串的规范等价性并且依赖于语言环境。此外,可以调整 ICU 的整理器,例如比较不区分大小写。
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") # "ą"
## [1] TRUE
stri_cmp_equiv("\ufb00", "ff", strength=2) # "ff"
## [1] TRUE
stri_cmp_equiv("G\u00e4rtner", "Gaertner", locale="de_DE@collation=phonebook", strength=1L) # "Gärtner"
## [1] TRUE
或者,如果它对于您的需求而言过于笨重,您可以 - 正如@docendodiscimus 所建议的那样,测试是否
tolower("a string") == tolower("A STRING")
## [1] TRUE