Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
186 views
in Technique[技术] by (71.8m points)

How I should remove digits with other characters (eg:100g) in R

The chips column table "productWords" looks like this: "Natural Chip SeaSalt175g" "CCs Nacho Cheese 175g"
"Smiths Crinkle Cut Chips Chicken 170g" "Smiths Chip Thinly S/Cream&Onion 175g"

I hope to remove the digits and special characters, so I use productWords$Chip <- str_replace_all(productWords$Chip,"[:digit:]", "") AND str_replace_all(productWords$Chip, "[[:punct:]]", " ")

but what I want to remove is not just the digits number but "175g".

question from:https://stackoverflow.com/questions/65646202/how-i-should-remove-digits-with-other-characters-eg100g-in-r

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

With sub you can search for a pattern and replace it (or remove it by replacing it with an empty string). The pattern in your example would be "[0-9]+g". This corresponds to any digit one or more times followed by the character g.

productWords$Chip <- sub(pattern = "([0-9]+g)|[[:punct:]]", replacement = "", x = productWords$Chip)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...