2012-05-04 1 views
1

나는 자바 스크립트에서 매일하는 VB에서 매우 간단한 것을 달성하려고합니다.여러 번 VB.NET에서 문자열 범위

여러 번 나타나는 두 개의 문자열 (주로 HTML 태그) 사이의 텍스트를 구문 분석해야합니다.

샘플 데이터 :

var result = string.split('<tag>')[2].split('</tag>')[0]; 

를 내가 얻을 수가있는 유일한 방법 : 나는 단순히 이런 짓을 했을까 자바 스크립트에서 2 < 태그의 데이터를> 잡고 싶었다면

<tag>test</tag> 
<tag>test2</tag> 
<tag>test3</tag> 

VB에서 작동하는 것은 다음과 같습니다.

Dim from = string.IndexOf("<tag>") 
Dim [to] = string.IndexOf("</tag>", from) 
Dim result = string.Substring(from + "<tag>".Length, [to] - from - "<tag>".Length) 

VB와 이미 코드가 비교해 보면 어리석은 것 같습니다 ... 제 유일한 해결책이 될 때까지 제 2의 사건을 파악하고 싶지 않았습니다. 감사합니다

답변

2

당신은 VB에서 문자열에 '분할'방법을 사용하여 거의 같은 일을 할 수 있습니다.

Dim sx As String = "<tag>test</tag> <tag>test2</tag> <tag>test3</tag> " 
    Dim sp As String = sx.Split(New [String]() {"<tag>"}, StringSplitOptions.RemoveEmptyEntries)(1).Split(New [String]() {"</tag>"}, StringSplitOptions.RemoveEmptyEntries)(0) 
+0

답장을 한 후에 더 자세히 파고 들었습니다. 당신이 맞다는 것을 알게되었습니다. indexOf/하위 문자열을 사용하려고하는 "분할"함수를 잘못 사용하고있었습니다. 솔루션 : Regex.Split (문자열, "") (1) .Split를 ("") (0) – bfritz

+0

여기 분할 내 새로운 문제를 확인합니다 http://stackoverflow.com/questions/10458032/ weird-results-when-splititting-strings-in-vb-net – bfritz

+0

예리한 재생 :-) – sarepta