回答
通常,您想了解正則表達式。這可能令人生畏,但你也可以通過示例來學習。
在這裏,我們可以做的,比較簡單的事情:
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