2012-01-22 49 views
11

Tôi có một chuỗi và tôi muốn xóa tất cả các ký hiệu không phải là chữ và số và sau đó đưa vào vectơ. Vì vậy, đây:R loại bỏ các ký hiệu không phải là chữ và số từ một chuỗi

"This is a string. In addition, this is a string!" 

sẽ trở thành:

>stringVector1 

"This","is","a","string","In","addition","this","is","a","string" 

Tôi đã nhìn grep() nhưng không thể tìm thấy một ví dụ phù hợp. Bất kỳ đề xuất?

Trả lời

26

đây là một ví dụ:

> str <- "This is a string. In addition, this is a string!" 
> str 
[1] "This is a string. In addition, this is a string!" 
> strsplit(gsub("[^[:alnum:] ]", "", str), " +")[[1]] 
[1] "This"  "is"  "a"  "string" "In"  "addition" "this"  "is"  "a"  
[10] "string" 
+0

tôi nhận thấy có một khoảng trống trong biểu thức thường xuyên giữa các dấu ngoặc vuông kết thúc. Cái đó dùng để làm gì? –

+1

@ B.Mr.W. nó bảo tồn các khoảng trống trong chuỗi để phân tách khi – mlegge

+1

Cảm ơn, cuối cùng, tôi không ngại sử dụng cụm từ thông dụng trong R 'gsub (" [^ [: alnum:] = \\.] "," "," Oh blah blah blah. Chỉ cần im lặng! = 0,42 ")' tốt hơn rất nhiều so với việc cộng dồn một số cách sử dụng hàm 'gsub()' để thay thế mỗi dấu chấm câu bằng '" "'. –

Các vấn đề liên quan