#vb.net
#vb.net
Вопрос:
Я пытаюсь проанализировать ответ пользователя из SMS-сообщения. В частности, я ищу ответ «Да» / «Нет». Поскольку я сталкивался с разными ответами, я скорректировал процедуру поиска.
Я уверен, что это не уникальная проблема, что кто-нибудь использовал для определения намерений пользователя по ответу «да» / «нет»?
Dim SearchString = Regex.Replace(Message, "[^a-zA-Z0-9 ]", "")
Dim ResultString = SearchString.Split({" "}, StringSplitOptions.None)
Dim indexNo = From i In Enumerable.Range(0, ResultString.Length)
Where String.Equals(ResultString(i), "no", StringComparison.CurrentCultureIgnoreCase) Or String.Equals(ResultString(i), "n", StringComparison.CurrentCultureIgnoreCase)
Select i
Dim indexYes = From i In Enumerable.Range(0, ResultString.Length)
Where String.Equals(ResultString(i), "yes", StringComparison.CurrentCultureIgnoreCase) Or String.Equals(ResultString(i), "y", StringComparison.CurrentCultureIgnoreCase)
Select i
Первоначально я использовал indexOf(), но если сообщение содержало какое-либо другое примечание, содержащее Y или N, оно могло быть проанализировано неправильно.
Комментарии:
1. Каковы возможные ответы от пользователей? Возможно, инструкция для ответа «да» или «нет» недостаточно ясна. Вы можете использовать indexOf как со строкой, так и с символом.
2. Я обнаружил, что люди, как правило, не слушают. Это SMS-сообщение, чтобы они могли отправлять все, что им заблагорассудится. В исходном сообщении говорится, что ответьте «ДА» для подтверждения или «НЕТ» для отмены. Если я не могу определить их намерение, я отправляю другое SMS со словами «Я не понял ваш ответ. Пожалуйста, отвечайте только «ДА» или «НЕТ» »
3. Если в этой инструкции нет контекста, вы можете получить ответы типа «кто это?» Возможно, вы захотите спросить на User Experience Stack Exchange о способах заставить пользователей быть более послушными, ошибка… Я имею в виду предоставить ответ, который вы можете проанализировать.