我正在寻找一种方法来删除任何不是字母字符的字符串中的字符。
我基本上只是为每个非字母字符使用Replace。这种方法需要永远。
我想我可以制作一个阵列(我想),但这还需要一段时间。有没有简单的解决方案?
Dim wordy As String = textBox.Text.ToUpper.Replace(".", "").Replace("!", "").Replace(" ", "").Replace("'", "").Replace("?", "") _
.Replace(",", "").Replace("-", "")
答案 0 :(得分:5)
以下代码行应该有所帮助。
MsgBox(Regex.Replace(s, "[^a-zA-Z ]", ""))
这将仅保留大写/小写A-Z以及空格。
你的例子,
Dim wordy As String = textBox.Text.ToUpper.Regex.Replace(s, "[^a-zA-Z ]", "")
您也可以使用 MaskedTextBox ,只允许基于蒙版的数字输入。
答案 1 :(得分:1)
这将删除除小写和大写A-Z之外的所有字符以及空格。如果要删除空格,请从正则表达式的末尾删除空格。
Dim rgx As New Regex("[^a-zA-Z ]")
Dim wordy As String = rgx.Replace(textBox.Text,"")