我有一个字符串:
q <-"<U+00A6> 1000-66329"
Run Code Online (Sandbox Code Playgroud)
我想删除<U+00A6>并获取1000 66329.
我试过用:
gsub("\u00a6"," ", q,perl=T)
Run Code Online (Sandbox Code Playgroud)
但它并没有删除任何东西.我该怎么办gsub才能获得1000 66329?
我只想删除
<U+00A6>字符串开头的 unicode。
那么你不需要 a gsub,你可以使用subwith"^\\s*<U\\+\\w+>\\s*"模式:
q <-"<U+00A6> 1000-66329"
sub("^\\s*<U\\+\\w+>\\s*", "", q)
Run Code Online (Sandbox Code Playgroud)
图案详情:
^- 字符串的开头\\s*- 零个或多个空格<U\\+- 文字字符序列<U+\\w+- 1个或多个字母、数字或下划线>- 字面意思>\\s* - 零个或多个空格。如果您还需要将 替换-为空格,请添加|-替代项并使用gsub(因为现在我们预计有多个替换项,并且替换项必须是空格 - akrun 的答案也是如此):
trimws(gsub("^\\s*<U\\+\\w+>|-", " ", q))
Run Code Online (Sandbox Code Playgroud)
查看R 在线演示