/ / Як позбутися спеціальних символів, але все-таки зберегти пробіли у форматуванні рядка? - vb.net

Як позбутися спеціальних символів, але як і раніше зберігати пробіли при форматуванні рядка? - vb.net

У мене є форма, яка містить текстове поле для останньогоназва якого я форматую. І я намагаюся позбутися таких спеціальних, як "-", "+" і т. Д. Але я хочу, щоб користувач все-таки міг помістити місце в просторі між тим, щоб лише людина, яку він вводить, була прізвищем з Jr або Ср в кінці. Поки що маю

    txt.Text = Regex.Replace(txt.Text, "W|d", "")

але це також позбавляється від простору. Як я запобігти цьому?

Відповіді:

0 для відповіді № 1

Замість регулярного вираження ви можете використовувати такий (більш ефективний) підхід:

Dim characters = txt.Text.ToCharArray()
characters = Array.FindAll(characters, Function(c) Char.IsLetter(c) OrElse c = " "c)
txt.Text = new string(characters)