删除行尾和新 space 之间的数字
Remove number between end of row and new space
我正在尝试删除引号内行开头的数字。
> g<-"My name is Paul.\nI like playing football.\n\"55012\" And that's all."
> cat(g)
My name is Paul.
I like playing football.
"55012" And that's all.
> gsub("[\r\n]\"+[[:digit:]][^[[:space:]]]*"," ",g)
[1] "My name is Paul.\nI like playing football. 012\" And that's all."
这应该可以,但我不知道为什么只替换 \n"55
而不是整个数字。
您用几个多余的 [...]
关闭了括号表达式。 [^[[:space:]]]
是 [^[[:space:]]
和 ]
模式的序列,匹配 [
和空格以外的任何字符,然后是 ]
字符。
然而,即使这样也不足以完全解决问题。
您可以使用
gsub("(^|\n)\"+[0-9]+\"+\s*","\1", g)
图案详情
(^|\n)
- 在第 1 组中捕获的字符串或换行符的开头(从替换模式中引用 </code>)</li>
<li><code>\"+
- 一个或多个双引号
[0-9]+
- 1+ 位数
\"+
- 一个或多个双引号
\s*
- 0+ 个空格。
我正在尝试删除引号内行开头的数字。
> g<-"My name is Paul.\nI like playing football.\n\"55012\" And that's all."
> cat(g)
My name is Paul.
I like playing football.
"55012" And that's all.
> gsub("[\r\n]\"+[[:digit:]][^[[:space:]]]*"," ",g)
[1] "My name is Paul.\nI like playing football. 012\" And that's all."
这应该可以,但我不知道为什么只替换 \n"55
而不是整个数字。
您用几个多余的 [...]
关闭了括号表达式。 [^[[:space:]]]
是 [^[[:space:]]
和 ]
模式的序列,匹配 [
和空格以外的任何字符,然后是 ]
字符。
然而,即使这样也不足以完全解决问题。
您可以使用
gsub("(^|\n)\"+[0-9]+\"+\s*","\1", g)
图案详情
(^|\n)
- 在第 1 组中捕获的字符串或换行符的开头(从替换模式中引用</code>)</li> <li><code>\"+
- 一个或多个双引号[0-9]+
- 1+ 位数\"+
- 一个或多个双引号\s*
- 0+ 个空格。