2016-01-31 2 views
1

Мне нужна помощь с программированием R.Как обрабатывать специальные символы

В принципе, мне нужно получить пользовательский ввод от пользователя и использовать его в качестве переменной в моем R-скрипте.

При получении пользовательского ввода необходимо выполнить следующие проверки.

  1. , чтобы узнать, существуют ли недостающие значения:
    • еще Запрашивать повторно ввести
  2. Проверьте, чтобы увидеть, что только буквенно-цифровые символы вводятся.
    • еще раз попросите пользователя повторно войти.
  3. позволяют некоторые специальные символы: $, #, &, и т.д.
  4. Пробелы разрешены как в имени, "", фамилия.

ответ

0

Непонятно, что вы пытаетесь сделать с частью своего кода else if. Характер readline() заключается в том, что он вернет строку ввода пользователя. Существуют ли какие-либо конкретные символы, которые вы не хотите включать в ввод? Вы можете использовать grepl(), чтобы идентифицировать их и запретить пользователю вводить их в качестве ввода.

Если вы пытаетесь обеспечить, чтобы пользователь вводил что-то, вы должны использовать цикл while, как это предлагается в комментариях. Если вы собираетесь использовать свою переменную в R после запуска функции, тогда вам необходимо указать return() значение v1 - пользовательский ввод. Если вы пытаетесь заменить пространство между первым и последним именем% 20, вы можете использовать gsub(). См. Код ниже.

fun1 <- function(){ 
    v1 <- c("") 
    v1 <- readline(prompt='Enter your First & Last Name: ') 
    while (v1==""){ 
    v1 <- readline("You forgot to enter your Name. Please try again: ") 
    } 
    return(gsub(" ", "%20", v1)) 
} 

> "David%20Smith" 
+0

Я попытался изменить код Имада, но у вас есть еще несколько вопросов. – J1975

+0

@ Jun1975 такие как? –

+0

Я редактировал свой код в вопросе, чтобы отразить ответ Имада. Дополнительный вопрос. (a) Как я могу использовать оператор return в своей программе. Не просто показать на консоли. (b) Не работает [: blank:]. Я использую его неправильно. (c) Теперь на выходе не отображается% 20 для отсутствующих и специальных символов. Спасибо за вашу помощь. – J1975

Смежные вопросы