Как я могу удалить нечисловые символы из строк, используя gsub в R? - PullRequest
0 голосов
/ 09 октября 2018

Я использую функцию gsub в R для удаления ненужных символов в числах.Поэтому я должен удалить из строк каждый символ, который не является числом, . и -.Моя проблема в том, что регулярное выражение не удаляет некоторые нечисловые символы, такие как d, + и <.

. Ниже приведены мое регулярное выражение, выполнение gsub и его вывод.,Как я могу изменить регулярное выражение для достижения желаемого результата?

Токовый выход:

gsub(pattern = '[^(-?(\\d*\\.)?\\d+)]', replacement = '', x = c('1.2<', '>4.5', '3+.2', '-1d0', '2aadddab2','1.3h'))
[1] "1.2<"  ">4.5"  "3+.2"  "-1d0"  "2ddd2" "1.3"

Требуемый выход:

[1] "1.2"  "4.5"  "3.2"  "-10"  "22" "1.3"

Спасибо.

1 Ответ

0 голосов
/ 10 октября 2018

Просто используйте

gsub("[^0-9.-]", "", x)

В случае нескольких - и . вы можете иметь второй регекс, имеющий дело с этим.Если вы боретесь с этим, откройте новый вопрос.


С вашим новым вопросом приведите один хороший пример, который охватывает все случаи.Не меняйте его 3 раза.

...