R使看起来相同但不相同的两个字符串相同

rut*_*_gg 5 string comparison r

我有两个看起来相同但不相同的字符串。

> t
[1] "2009_Manaus_Aerota?xi_crash"
> t2
[1] "2009_Manaus_Aerotáxi_crash"
> identical(t,t2)
[1] FALSE
> str(t)
 chr "2009_Manaus_Aerotaxi_crash""| __truncated__
> str(t2)
 chr "2009_Manaus_Aerotáxi_crash"
Run Code Online (Sandbox Code Playgroud)

如何强制这两个字符串相等?

谢谢

sel*_*nin 0

考虑使用stringi ( https://cran.r-project.org/web/packages/stringi/stri_compare ) 包中的方法。\n如果两个字符串相等或规范等效,则返回。检查这里的文档0

\n\n

在你的情况下,人们会这样测试它:

\n\n
require(\'stringi\')\n\nt  = "2009_Manaus_Aerota\xcc\x81xi_crash"\nt2 = "2009_Manaus_Aerot\xc3\xa1xi_crash"\nt3 = "1111_Manaus_Aerot\xc3\xa1xi_crash"\n\nifelse( (stri_compare(t,t2) == 0), "Strings are equal", "Strings are different") \nifelse( (stri_compare(t,t3) == 0), "Strings are equal", "Strings are different")\n
Run Code Online (Sandbox Code Playgroud)\n\n

希望这可以帮助

\n

  • 非常感谢 selyunin,问题是我想将其中一个字符串转换为另一个字符串的“相同”等效项。也就是说,改变 t 使其变为相同的 t2。我需要它,因为我有几个类似的字符串没有合并,因为它们不相同 (2认同)