确定字符串是否包含非罗马字符/非英文字符的首选方法是什么(例如,是否为)字符?如何确定字符串是否包含R中的非罗马字符
2
A
回答
4
你可以决定是否字符串包含iconv
和grep
# My example, because you didn't add your data
characters <- c("ないでさ, satisfação, катынь, Work, Awareness, Potential, für")
# First you convert string to vector of words
characters.unlist <- unlist(strsplit(characters, split=", "))
# Then find indices of words with non-ASCII characters using ICONV
characters.non.ASCII <- grep("characters.unlist", iconv(characters.unlist, "latin1", "ASCII", sub="characters.unlist"))
# subset original vector of words to exclude words with non-ASCII characters
data <- characters.unlist[-characters.non.ASCII]
# convert vector back to a string
dat.1 <- paste(data, collapse = ", ")
# Now if you run
characters.non.ASCII
[1] 1 2 3 7
非拉丁/非ASCII字符意味着第一,第二,第三和第七个索引是非ASCII字符,在我的情况下,第1,2,3和7个对应于:“ないでさ,satisfação,катыньand furr
您也可以运行
dat.1 #and the output will be all ASCII charaters
[1] "Work, Awareness, Potential"
5
你可以使用正则表达式/ grep来检查字符的十六进制值的可打印的ASCII字符范围之外:
x <- 'ないでさ'
grep("[^\x20-\x7F]",x)
#[1] 1
grep("[^\x20-\x7F]","Normal text")
#integer(0)
如果你希望允许非打印(“控制”)来考虑“英语”,你可以将字符类的范围扩展到第一个参数grep
以“\ x01”开始。有关使用字符类别参数的更多信息,请参阅?regex
。有关如何将字符指定为Unicode,十六进制或八进制值的更多信息,请参阅?Quotes
。
的R.oo包具有转换功能,可能是有用的:
library(R.oo)
?intToChar
?charToInt
是亨里克特松认为应该包括这些在他的包,这一事实对我说,没有一个方便的方法来做到这一点基地/默认R.他是一个长期使用R/guRu。
看到对方的回答促使这一努力似乎直截了当:
> is.na(iconv(c(x, "OrdinaryASCII") , "", "ASCII"))
[1] TRUE FALSE
相关问题
- 1. 如何确定一个字符串是否包含非字母数字字符?
- 2. 确定字符串的索引是否包含字符
- 3. 如何确定字符串是否包含带awk的子字符串
- 4. 使用Guava's ComparisonChain比较包含罗马数字的字符串
- 5. 如何定义包含非ASCII字符的字符串文字?
- 6. 如何确定一个字符串是否包含另一个字符串
- 7. 在字符串中显示非罗马字符
- 8. 确定一个字符串是否包含数组中的子字符串[NODEJS]
- 9. 如何检查字符串是否包含C#中的字符?
- 10. 确定一个字符串是否包含特定位置的子字符串
- 11. 如何检查是否文本字段包含罗马数字
- 12. 如何确定一个字符串包含字符串
- 13. 如何确定字典中是否存在非空字符串?
- 14. 确定一个字符串是否包含任何一组字符串
- 15. C++ 11 - Unicode字符串 - 查找是否包含非ASCII字符
- 16. 检查字符串是否包含字符集中的字符
- 17. 用户定义函数来确定字符串是否包含子字符串
- 18. 确定一个字符串是否包含它内部的base64字符串
- 19. 如何检查是否字符串包含字符串数组字符串
- 20. 确定是否一个字符串包含一个字
- 21. 确定一个字符串是否包含数字序列
- 22. 确定字符串是否仅包含数字
- 23. 检查字符串是否包含字(不是子字符串!)
- 24. 检测字符串中是否包含非字母
- 25. 确定一个字符串是否包含另一个字符串
- 26. 确定一个字符串是否包含一个子字符串
- 27. 如何检查一个字符串是否包含给定的子字符串?
- 28. 如何检查一个字符串是否包含特定的子字符串
- 29. 如何检查字符串数组是否包含特定的字符串?
- 30. 检查字符串是否只包含指定的字符
您的问题不属于好到现场指导。改述它,让你问问怎么做,更重要的是,展示你到目前为止所尝试过的。就目前来看,这个问题相当广泛,并且“寻找工具”。 –
我不明白downvote。看起来像一个完全合理的问题,并且不能立即在搜索中找到。我总是很难找到char-to-integer函数。我永远不会记得它是char2Int,charToInt,chr2Int还是别的......因为它没有或那些。 –