我有一个像这样的字符串:
q <-"<U+00A6> 1000-66329"
我想删除<U+00A6>
并只得到1000 66329
.
我尝试使用:
gsub("\u00a6"," ", q,perl=T)
但它并没有删除任何东西。我应该怎么做gsub
为了只得到1000 66329
?
我只是想删除 unicode<U+00A6>
它位于字符串的开头。
那么你不需要gsub
,你可以使用sub
with "^\\s*<U\\+\\w+>\\s*"
图案:
q <-"<U+00A6> 1000-66329"
sub("^\\s*<U\\+\\w+>\\s*", "", q)
图案细节:
-
^
- 字符串的开头
-
\\s*
- 零个或多个空格
-
<U\\+
- 文字字符序列<U+
-
\\w+
- 1个或多个字母、数字或下划线
-
>
- 字面意思>
-
\\s*
- 零个或多个空格。
如果您还需要更换-
带空格,添加|-
替代和使用gsub
(因为现在我们预计会有多个替换,并且替换必须是一个空格 - 同样在阿克伦的回答):
trimws(gsub("^\\s*<U\\+\\w+>|-", " ", q))
See the R在线演示
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)