2017-12-28 53 views
0

현재 내 코드에서 마침표로 분리하고 있지만, 실행했을 때 몇 가지 문제가 발견되었습니다. 나는 단지 "."대신에 어떻게 나눌 수 있을지 궁금해하고있었습니다.2 문자를 사용하여 문자열 분할하기

현재 코드 :

Dim words As String() = item.Split(New Char() {"."c}) 

드림 코드 :

Dim words As String() = item.Split(New Char() {". "c}) 

그것은 나를이 기간 이후에 여분의 공간을 추가 할 수 없습니다, 해결 방법은 무엇입니까?

+0

문자열. 한 가지 방법은'|'와 같은 문자열에있을 가능성이없는 것으로 대체 한 다음 분리하는 것입니다. 제목에 언어 태그 넣기를 그만하십시오 - 그게 태그가 무엇입니까 – Plutonix

+0

@Plutonix 당신이 조금 더 정교 할 수 있겠습니까? – Bob

답변

3

확장하려면 먼저 Replace이 어떻게 사용되는지 확인하십시오. 먼저, 2 문자를 고유하게 식별 할 수있는 문자로 변환 한 다음 효과적으로 분할 할 수 있습니다.

Dim words As String() = item.Replace(". ", "|").Split(New Char() {"|"c}) 

그리고 당신은 아마 훨씬 더 같이 단순화 할 수 있습니다 : 당신이 Option Strict On을 사용하고 있다고 가정

Dim words As String() = item.Replace(". ", "|").Split("|"c) 

-하지 않을 경우 문자열이 변환됩니다, 당신은 더 이런 식으로 단순화 할 수 있습니다 자동으로 문자 :

012 :
Dim words As String() = item.Replace(". ", "|").Split("|") 
+1

아하 오케이. 내가 그 사람이 이야기하는 줄 알았는데. 나는 그것을 두 줄로 썼지 만, 당신의 한줄기는 너무 예뻐요. 고맙습니다! – Bob

1

당신은 사항 String.split의 String.Split Method (String(), StringSplitOptions) 과부하를 사용해야합니다

3,516,
Dim s = "1. 2. 3. 4.5.6" 
Dim a = s.Split({". "}, StringSplitOptions.None) 
Console.Write(String.Join(vbCrLf, a)) 

출력 :

1 
2 
3 
4.5.6 

(Visual Studio 버전에 따라, 당신은 New String() {". "} 대신 {". "} 뭔가를해야 할 수도 있습니다.) char 배열이이 문자를 문자를하지 보유하고 있기 때문에 그것을 할 수 나던