#string #vb.net #character
#строка #vb.net #символ
Вопрос:
В VB.NET можете ли вы помочь мне понять, как преобразовать символ с точкой (или любой аббревиатурой)
В приведенных ниже 4 примерах при вводе строк будет получена первая буква, и если есть сокращение, оно удалит точки, но получит все буквы. Спасибо!
Смотрите примеры ниже:
Введите в текстовое поле:
Переполнение стека
S. Stack P.S
A.B.C Переполнение стека Z.
Стек Z.
Вывод:
SSPSO
SSP
ABCSOZ
SZ
Использование: ?
Комментарии:
1. Пожалуйста, покажите код, который вы используете для этого. В противном случае вам очень сложно помочь.
Ответ №1:
Регулярные выражения, похоже, соответствуют вашим потребностям:
Dim r = Regex.Replace("A.B.C Stack Overflow Z.", "[^A-Z]", "")
MsgBox(r) 'shows ABCSOZ
Это "[^A-Z]"
сопоставитель шаблонов, означающий «любой символ, не входящий в диапазон от А до Я»
Это означает, что все символы, которые не являются прописными буквами ASCII, заменяются пустой строкой
Комментарии:
1. Или что-то вроде:
string.Concat([Line of Text].Where(c => char.IsUpper(c)))
, чтобы оно включало символы, такие какȖ Å Ğ
, например, и т.д. (если только они также не должны быть исключены, то есть).2. Действительно, существует много способов скинуть эту кошку; в указанном вопросе символы с ударением, похоже, не рассматриваются.. Опять же, спецификация, указанная в вопросе, не согласуется с названием!
3. Спасибо @CaiusJard Я попробую и спасибо всем за проверку