Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当R中存在字符时,R-grepl不匹配字符。(UTF-8编码)_R_String_Stringr_Non Ascii Characters - Fatal编程技术网

当R中存在字符时,R-grepl不匹配字符。(UTF-8编码)

当R中存在字符时,R-grepl不匹配字符。(UTF-8编码),r,string,stringr,non-ascii-characters,R,String,Stringr,Non Ascii Characters,我目前正在处理UTF-8编码的数据。我试图应用grepl来查看文本体中是否存在某些字符串。但我没能得到我想要的结果。(注意:我确实知道字符串存在) 举个例子,我有以下整数字符串: (注意:尽管是数字,但数据的结构是单个字符串) >tancd[[1]] [1] "1512 1463 1489 1460 1468 1497 32 1488 1457 1500 1460 1497 1506 1462 1494 1462 1512" 我想看看上面的内容是否出现在下面的字符串中(它是): [注意:所需字

我目前正在处理UTF-8编码的数据。我试图应用
grepl
来查看文本体中是否存在某些字符串。但我没能得到我想要的结果。(注意:我确实知道字符串存在)

举个例子,我有以下整数字符串:

注意:尽管是数字,但数据的结构是单个字符串)

>tancd[[1]]
[1] "1512 1463 1489 1460 1468 1497 32 1488 1457 1500 1460 1497 1506 1462 1494 1462 1512"
我想看看上面的内容是否出现在下面的字符串中(它是):

[注意:所需字符串用
***
-其不在实际数据中]

>dat
[1] "1488 32 1502 1461 1488 1461 1497 1502 1464 1514 1463 1497 32 1511 1493 1465 1512 1460 1497 1503 32 1488 1462 1514 32 1513 1473 1456 1502 1463 1506 32 1489 1468 1456 1506 1463 1512 1456 1489 1460 1497 1514 46 32 1502 1460 1513 1468 1473 1464 1506 1464 1492 32 1513 1473 1462 1492 1463 1499 1468 1465 1492 1458 1504 1460 1497 1501 32 1504 1460 1499 1456 1504 1464 1505 1460 1497 1501 32 1500 1462 1488 1457 1499 1465 1500 32 1489 1468 1460 1514 1456 1512 1493 1468 1502 1464 1514 1464 1503 44 32 1506 1463 1491 32 1505 1493 1465 1507 32 1492 1464 1488 1463 1513 1473 1456 1502 1493 1468 1512 1464 1492 32 1492 1464 1512 1460 1488 1513 1473 1493 1465 1504 1464 1492 44 32 1491 1468 1460 1489 1456 1512 1461 1497 32 ***1512 1463 1489 1468 1460 1497 32 1488 1457 1500 1460 1497 1506 1462 1494 1462 1512*** 46 32 1493 1463 1495 1458 1499 1464 1502 1460 1497 1501 32 1488 1493 1465 1502 1456 1512 1460 1497 1501 44 32 1506 1463 1491 32 1495 1458 1510 1493 1465 1514 46 32 1512 1463 1489 1468 1464 1503 32 1490 1468 1463 1502 1456 1500 1460 1497 1488 1461 1500 32 1488 1493 1465 1502 1461 1512 44 32 1506 1463 1491 32 1513 1473 1462 1497 1468 1463 1506 1458 1500 1462 1492 32 1506 1463 1502 1468 1493 1468 1491 32 1492 1463 1513 1468 1473 1464 1495 1463 1512 46 32 1502 1463 1506 1458 1513 1474 1462 1492 32 1513 1473 1462 1489 1468 1464 1488 1493 1468 32 1489 1464 1504 1464 1497 1493 32 1502 1460 1489 1468 1461 1497 1514 32 1492 1463 1502 1468 1460 1513 1473 1456 1514 1468 1462 1492 44 32 1488 1464 1502 1456 1512 1493 1468 32 1500 1493 1465 44 32 1500 1465 1488 32 1511 1464 1512 1460 1497 1504 1493 1468 32 1488 1462 1514 32 1513 1473 1456 1502 1463 1506 46 32 1488 1464 1502 1463 1512 32 1500 1464 1492 1462 1501 44 32 1488 1460 1501 32 1500 1465 1488 32 1506 1464 1500 1464 1492 32 1506 1463 1502 1468 1493 1468 1491 32 1492 1463 1513 1468 1473 1463 1495 1463 1512 44 32 1495 1463 1497 1468 1464 1489 1460 1497 1503 32 1488 1463 1514 1468 1462 1501 32 1500 1460 1511 1456 1512 1493 1465 1514 46 32 1493 1456 1500 1465 1488 32 1494 1493 1465 32 1489 1468 1460 1500 1456 1489 1463 1491 44 32 1488 1462 1500 1468 1464 1488 32 1499 1468 1464 1500 32 1502 1463 1492 32 1513 1468 1473 1462 1488 1464 1502 1456 1512 1493 1468 32 1495 1458 1499 1464 1502 1460 1497 1501 32 1506 1463 1491 32 1495 1458 1510 1493 1465 1514 44 32 1502 1460 1510 1456 1493 1464 1514 1464 1503 32 1506 1463 1491 32 1513 1473 1462 1497 1468 1463 1506 1458 1500 1462 1492 32 1506 1463 1502 1468 1493 1468 1491 32 1492 1463 1513 1468 1473 1464 1495 1463 1512 46 32 1492 1462 1511 1456 1496 1461 1512 32 1495 1458 1500 1464 1489 1460 1497 1501 32 1493 1456 1488 1461 1489 1464 1512 1460 1497 1501 44 32 1502 1460 1510 1456 1493 1464 1514 1464 1503 32 1506 1463 1491 32 1513 1473 1462 1497 1468 1463 1506 1458 1500 1462 1492 32 1506 1463 1502 1468 1493 1468 1491 32 1492 1463 1513 1468 1473 1464 1495 1463 1512 46 32 1493 1456 1499 1464 1500 32 1492 1463 1504 1468 1462 1488 1457 1499 1464 1500 1460 1497 1501 32 1500 1456 1497 1493 1465 1501 32 1488 1462 1495 1464 1491 44 32 1502 1460 1510 1456 1493 1464 1514 1464 1503 32 1506 1463 1491 32 1513 1473 1462 1497 1468 1463 1506 1458 1500 1462 1492 32 1506 1463 1502 1468 1493 1468 1491 32 1492 1463 1513 1468 1473 1464 1495 1463 1512 46 32 1488 1460 1501 32 1499 1468 1461 1503 44 32 1500 1464 1502 1468 1464 1492 32 1488 1464 1502 1456 1512 1493 1468 32 1495 1458 1499 1464 1502 1460 1497 1501 32 1506 1463 1491 32 1495 1458 1510 1493 1465 1514 44 32 1499 1468 1456 1491 1461 1497 32 1500 1456 1492 1463 1512 1456 1495 1460 1497 1511 32 1488 1462 1514 32 1492 1464 1488 1464 1491 1464 1501 32 1502 1460 1503 32 1492 1464 1506 1458 1489 1461 1512 1464 1492 58"
我的问题是: 当我使用
grepl
时,我得到以下结果:

>grepl(tancd[[1]],dat)
[1] 假的
类似地,如果我从
stringr
包中使用
string\u detect()

str_检测(tancd[[1]],dat) [1] 假的

是否有办法对该集合进行grepl并获得正确的期望结果?

您在两个astrisks之间的字符串与您要查找的字符串不同

string in dat    :  "1512 1463 1489 1468 1460 1497 32 1488 1457 1500 1460 1497 1506 1462 1494 1462 1512"
string in tancd  :  "1512 1463 1489 1460 1468 1497 32 1488 1457 1500 1460 1497 1506 1462 1494 1462 1512"
您会注意到1468和1460在tancd中是反向的。如果您修复了tancd,它应该可以工作

tancd[[1]] <- "1512 1463 1489 1468 1460 1497 32 1488 1457 1500 1460 1497 1506 1462 1494 1462 1512"

grepl(dat, pattern=tancd[[1]])

tancd[[1]]我可能是错的,但是我无法在dat中找到tancd[[1]]模式,我使用了ctrl+F来这样做。不确定您为什么期望为TRUE。1468和1460的位置在字符串“151214631489…”之后有所不同。谢谢。
如果您想在grep中忽略regex,也可以使用fixed=TRUE。