我试图用以下方法替换我认为的标准破折号gsub
。我正在测试的代码是:
gsub("-", "ABC", "reported – estimate")
但这没有任何作用。我将破折号复制并粘贴到http://unicodelookup.com/#–/1 http://unicodelookup.com/#%E2%80%93/1它似乎是一个破折号。该网站提供了短划线的十六进制、十进制等代码,我一直在尝试替换短划线,但运气不佳。建议?
(作为奖励,如果你能告诉我是否有识别特殊字符的功能,那会很有帮助)。
我不确定 SO 的代码格式是否会改变破折号格式,所以这里是我正在使用的破折号 (–)。
您只需在正则表达式模式中指定短破折号即可替换它。
gsub("–", "ABC", "reported – estimate")
您可以将所有连字符、en- 和 em-dash 与
gsub("[-–—]", "ABC", "reported – estimate — more - text")
See IDEONE演示 https://ideone.com/JXVLyK
要检查字符串中是否有非 ASCII 字符,请使用
> s = "plus ça change, plus c'est la même chose"
> gsub("[[:ascii:]]+", "", s, perl=T)
[1] "çê"
See 这个 IDEONE 演示 http://ideone.com/aMSgcZ
您将得到一个空结果(如果字符串仅包含“单词”字符和空格),或者像这里一样得到一些“特殊”字符。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)