簡體   English   中英

從數據框中刪除特殊字符

[英]Remove special characters from data frame

我有一個包含字符串“Energy per �m”的矩陣。 在“m”之前是一個菱形符號,里面有一個問號——我不知道它是什么。

我試圖通過在矩陣的列上使用它來擺脫它:

a=gsub('Energy per �m','',a) 

[並為 gsub 的第一項使用復制/粘貼],但它不起作用。[“a=rep(5,Energy per”) 中的意外符號]。當我嘗試使用 grepl 從原始矩陣中提取某些內容時,我得到:

46: In grepl("ref. value", raw$parameter) :
input string 15318 is invalid in this locale

我怎樣才能擺脫所有這些跡象? 我只想有 0-9、AZ、az、/ 和 '. 可以撥打 rest。

可能有比使用正則表達式更好的方法(例如通過更改Encoding )。

但這是您的正則表達式解決方案:

gsub("[^0-9A-Za-z///' ]", "", a)
[1] "Energy per m"

但是,正如@JoshuaUlrich 所指出的,您最好使用:

gsub("[^[:alnum:]///' ]", "", x)
[1] "Energy per m"

如果您更喜歡使用stringr package, str_replace_all()是一個選項:

library(stringr)

x <- 'Energy per �m'

str_replace_all(x, "[^[:alnum:]///' ]", "")
[1] "Energy per m"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM