배경 :.Net- 분할 기능 또는 분할 방식을 사용해야합니까?
많은 단어의 문자열을 나중에 내 코드에서 나중에 사용할 수 있도록 나를 구분하는 배열로 분할해야했습니다. 그러나, 나는 내가 다음과 같이 내가 구분/구분 기호로 사용하고자 문자를 contaning 문자열을 선언 문자열에있을 수있는 번호를 제거하는 데 필요한 :
dim Separators As String = " 1234567890"
그래서 내 코드가되었다 다소 다음과 같이
''//USING SPLIT-FUNCTION
dim MyTestString as String = "This is 9 a 567 test"
dim Separators As String = " 1234567890"
dim ResultWithNoNumbers() as String
ResultWithNoNumbers = Split(MyTestString,Separators.ToCharArray)
Messagebox.Show(ResultWithNoNumbers.Length.ToString)
''//Result is 1 and no split was performed
이 그러나이 일
개별 문자로 내 구분을 고려하지 않은 분할 기능 때문에 작동하지 않았다 ..
''//USING SPLIT-METHOD
dim MyTestString as String = "This is 9 a 567 test"
dim Separators As String = " 1234567890"
dim ResultWithNoNumbers() as String
ResultWithNoNumbers = MyTestString.Split(Separators.ToCharArray,
_StringSplitOptions.RemoveEmptyEntries)
Messagebox.Show(ResultWithNoNumbers.Length.ToString)
''//Result is 4 and split was performed
지금까지는 Split-function에 비해 Split-method에 더 많은 옵션이 있기 때문에 문제를 해결할 수있었습니다.
내 질문에, 단락 기호로 표준 공백 문자 ("") 만 필요하다고 가정 해 봅시다. 위의 예와 같이 숫자를 제거 할 필요가 없습니다. 그러면 두 가지 방법 모두 사용할 수 있습니다. 그럼 어느 쪽을 사용 하시겠습니까? 사용할 수있는 다양한 옵션을 제외하고 특정 옵션을 사용하면 어떤 이점이 있습니까? 아마도 하나는 더 빠르며 더 적은 메모리를 필요로합니까?
편집 : Windows Mobile 용으로 개발 중이므로 속도와 메모리 문제가 중요한 이유입니다.
감사합니다.
정규식은 확실히 여기 길을 가야하는 것입니다 더. – ctacke
cstacke하려면 : 나는 당신이 WinMobile에 관해서 "전문가"라는 것을 알고 있습니다 ... 이것이 Regex (즉, Split-method 및 Split-function보다 속도 및 메모리 문제에 더 적합한)를 제안한 이유입니다. ? – moster67
아니요, Regex becssue를 사용하면 최종 목표를 달성하는 데 더 간단하고 간단하게 처리 할 수 있습니다. 나는 데스크톱에서도 똑같이 할 것이다. – ctacke