考慮以下字符串刪除所有不必要的空間和一定的標點符號
str1 <- " say wut ?? "
我想刪除單詞和??
之間的所有額外的空間和裝飾,整個事情
所以下面的作品完美
gsub("(^ *)|(+(?=))|($)", "", str1, perl = TRUE)
## [1] "say wut ??"
現在,如果我有以下字符串
str2 <- "[ ] say[] wut ?? [] "
我想達到以前的結果(我不要想要刪除除了??
以外的所有標點符號,因爲在現實生活中我也有其他標點符號,我想保留。換句話說,我只是想刪除[]
和不必要的空格)
所以我已經試過以下,但我有我的前導空格後面
有趣的(或沒有),當倒車正則表達式秩序,一切都弄糟更
gsub("(^ *)|\\]|\\[|(+(?=))|($)", "", str2, perl = TRUE)
## [1] "[ say wut ?? "
編輯:看來,我不太清楚,但是我正在尋找一個乾淨的正則表達式解決方案。我很清楚,你可以在幾個步驟中幾乎做任何事情(我已經這樣做了),但這不是我正在尋找的。
這是我用什麼到現在爲止(兩個步驟的解決方案):
gsub("(^ *)|(+(?=))|($)", "", gsub("\\]|\\[", "", x), perl = TRUE)
它似乎仍然會在'x < - '[說] w w ??' – 2014-11-02 08:55:51
@DavidArenburg看到更新。 – 2014-11-02 13:38:59
感謝您的更新 – 2014-11-04 09:07:09