2013-12-09 12 views
0

알파벳 문자가 아닌 문자열에서 문자를 제거하는 방법을 찾고 있습니다.문자열에서 알파벳이 아닌 문자를 제거하는 방법은 무엇입니까?

기본적으로 모든 비 알파벳 문자에 대해 바꾸기를 사용하고 있습니다. 이 방법은 영원히 걸릴 것입니다.

나는 배열을 만들 수있을 것 같아요.하지만 그건 꽤 오래 걸릴 겁니다. 간단한 해결책이 있습니까?

Dim wordy As String = textBox.Text.ToUpper.Replace(".", "").Replace("!", "").Replace(" ", "").Replace("'", "").Replace("?", "") _ 
     .Replace(",", "").Replace("-", "") 
+0

죄송합니다. 언어가 잘못되었습니다. 내 대답을보십시오. –

+0

마스크를 기반으로 한 숫자 입력 만 허용하는 마스크 된 텍스트 상자를 사용할 수 있습니다 ... –

답변

4

다음 코드 줄이 도움이됩니다.

MsgBox(Regex.Replace(s, "[^a-zA-Z ]", "")) 

이렇게하면 공백뿐만 아니라 대문자 A-Z 만 유지됩니다.

귀하의 예를 들어,

Dim wordy As String = textBox.Text.ToUpper.Regex.Replace(s, "[^a-zA-Z ]", "") 

은 또한 단지 마스크에 따라 숫자 만 입력을 허용 것 MaskedTextBox에를 사용할 수 있습니다.

+0

테스트하지는 않았지만 가야합니다. –

+0

그것은 좋은 일이고 나를 위해 일했습니다. – edCoder

1

대문자와 소문자로 된 A-Z를 제외한 모든 문자와 공백이 제거됩니다. 공백을 제거하려면 정규 표현식의 끝에서 공백을 제거하십시오.

Dim rgx As New Regex("[^a-zA-Z ]") 
Dim wordy As String = rgx.Replace(textBox.Text,"") 
관련 문제