回答
通常,您想了解正则表达式。这可能令人生畏,但你也可以通过示例来学习。
在这里,我们可以做的,比较简单的事情:
R> txt <- "\n 0.28\n \n "
R> gsub(".* ([0-9.]+).*", "\\1", txt)
[1] "0.28"
R> as.numeric(gsub(".* ([0-9.]+).*", "\\1", txt))
[1] 0.28
R>
的(...)
马克的东西,我们“希望”,在这里我们说,我们希望数字或点,其中几(的+
)。 "\\1"
然后回忆那场比赛。
另外,我们也只是“抹掉”所有的\n
和空间:
R> as.numeric(gsub("[\n ]", "", txt))
[1] 0.28
R>
很好的反应和很好的解释例子。正则表达式需要更多这个+1 – 2013-05-05 01:14:04
你并不需要为您的使用案例的正则表达式。
string <- "\n 0.28\n \n "
as.numeric(string)
[1] 0.28
不错的一个。似乎只要还有另一位数字就会中断,但这个例子确实有效。 – 2013-05-05 01:04:15
@Dirk。你不想让它突破吗?使用例如'txt < - “\ n 1.5 \ n 33 \ n”'您的两个解决方案将分别给出'33'和'1.533'。并不是说你的回答很糟糕。 – flodel 2013-05-05 01:27:26
迄今为止的解决方案非常棒,实际上教会了你一些东西。如果你想在愚蠢的,但简单的答案,taRifx::destring
将工作:
library(taRifx)
> destring("\n 0.28\n \n ")
[1] 0.28
它使用[^...]
正则表达式的成语(“不”),而不是向后引用作为@德克的解决方案:
return(as.numeric(gsub(paste("[^", keep, "]+", sep = ""), "", x)))
- 1. 序言:认识到一个^ n b ^(n + 1)语言n> = 1
- 2. PHP - 从此字符串中删除“\ r \ n \ r \ n”的问题:“我想:\ r \ n \ r \ n1。)解决这个问题\ r \ n \ r \ n \ 2。)现在请“
- 3. 构造以下语言的DFA:L = {a^n b^n | n> = 1}
- 4. PHP邮件中的换行符():\ n,\\ n和\ r \ n不工作
- 5. 删除\ r \ n \ r \ n
- 6. 删除\ r \ n \ r \ n
- 7. 如何获得总和x^n/n!在序言中?
- 8. 使用'\ r \ n \ r \ n'或'\ n \ n'结束HTTP请求
- 9. 语言A = {0^n 1^n 0^n}上下文是否免费?
- 10. 获得每组最后[n,n + t]天
- 11. C#从\ n转换SQL字符串用\ r \ n
- 12. 从包含\ n的数据库获取字符串,而不是获得\\ n
- 13. 摆脱\ r \ n字符串
- 14. 尝试替换文件中的\ r \ n \ n但不是\ r \ n
- 15. 如何将EOL字符“\ r \ n”替换为java中的“\ n”
- 16. \ r \ n \ r \ n字符串进入纯文本
- 17. 意义^ \ n \ n \ n
- 18. 从字符串获取n个字符
- 19. 替换\ r \ n与\ n
- 20. 用“\ n”代替“\ r \ n”
- 21. C#\ n,\ r \ n或Environment.NewLine
- 22. javascript,用\ r \ n替换\ n
- 23. 大O符号 - O(n日志(N))对O(的log(n^2))
- 24. 大O符号为G(N)> H(N)
- 25. '\ r?\ n \ r?\ n [\ - \ w + \。] + [>#] $'AND'\ r \ n] [\ - \ w + \。] +(?:\( [^ \)] + \))?[>#]?$'do?
- 26. 正确的语法使用近“%+ ads.title +%\ r \ n和\ r \ n products_request
- 27. 从Integer获得n LSB C++
- 28. R获得每n行的平均值
- 29. 的Python:在列表中替换\ n \ r \吨不包括起始\ n \ n和与\ n \ r \ n \吨结束
- 30. WebView语言错误Android N
这几乎是这些以前的问题的副本:http://stackoverflow.com/q/14543627/1036500和http://stackoverflow.com/q/15451251/1036500这些问题的一些答案也适用于这里,例如。 'as.numeric(gsub(“[[:alpha:]]”,“”,string))' – Ben 2013-05-05 06:47:05