2013-03-02 12 views
24

Mam ciąg w R, który zawiera dużą ilość słów. Podczas oglądania ciąg uzyskać dużą ilość tekstu, który zawiera tekst podobny do następującego:Usuwanie pewnych znaków z ciągu znaków w R

>docs 

.... 

\u009cYes yes for ever for ever the boys cried in their ringing voices with softened faces 

.... 

Więc zastanawiam się, jak usunąć te \ u009 znaków (wszystkie z nich, z których niektóre mają nieco różne numery) z ciągu. Próbowałem użyć gsub(), ale to nie było skuteczne w usuwaniu treści z ciągów.

Odpowiedz

40

To powinno działać

gsub('\u009c','','\u009cYes yes for ever for ever the boys ') 
"Yes yes for ever for ever the boys " 

Tutaj 009c jest liczba szesnastkowa Unicode. Zawsze musisz podać 4 cyfry szesnastkowe. Jeśli masz wielu, jednym z rozwiązań jest oddzielić je za pomocą rury:

gsub('\u009c|\u00F0','','\u009cYes yes \u00F0for ever for ever the boys and the girls') 

"Yes yes for ever for ever the boys and the girls" 
+0

Dzięki, to ma to działać. –

+1

w odniesieniu do "musisz zawsze określać 4 cyfry": Jest to tylko podczas wykonywania kodu unicode. To powinno całkowicie usunąć spacje i kreski: 'gsub ('| -', '', '1-444-654')' – Zak

4

try: gsub('\\$', '', '$5.00$')

Powiązane problemy