VB.NET에서 1 차원 문자열 배열을 조작 할 때 문제가 발생하여 도움을 받고 싶습니다.VB.NET 1 차원 문자열 배열 조작의 어려움
내 목표는 파일 경로에서 가능한 경우 4 개의 변수를 얻는 것입니다. 이 변수는 myCountry, myCity, myStreet, Filename입니다. 모두는 문자열로 선언됩니다. 파일 위치도 문자열로 선언됩니다. 그래서 나는이 :
Dim filePath As String
내 문제를 설명하고, 내가 할 노력하고 무엇을, 나는 다음과 같은 예를 가지고 :
1
C를 : 내 \ 위치 \는 \ 영국입니다 \ \ 버밍엄 \ 여름 도로 \이 house.txt.
이 예에서 myCountry는 = UK입니다. myCity = 버밍엄. myStreet = 여름 길. 파일 이름 =이 house.txt
2
C : 내 위치 \를 \ 프랑스 \ 리옹 \ 그 house.txt을 \된다.
여기 myCountry = 프랑스. myCity = 리용. 거리가 없습니다. 파일 이름 = 그 house.txt
3
C : 내 위치 독일 \입니다 \ \ 다른 house.txt 여기
myCountry = 독일. 도시가 없다. 아니 거리. Filename = other house.txt
내가 말하고자하는 것은 내가 원하는 변수의 길이 나 위치에 대해 미리 알지 못한다는 것이다. 나는 또한 내가 길에서 도시 또는 거리 이름을 찾거나 얻을 것인지 알지 못합니다. 하지만 영국, 프랑스, 독일, 스페인, 이탈리아 등 5 가지 옵션 중 하나가 될 것입니다.
내 문제를 해결하기 위해, 내가 한 첫번째 일은이었다
Dim pathArr() As String = filePath.Split("\")
내가 한 파일 이름을 얻으려면 :
FileName = pathArr.Last
이 myCountry을 얻으려면을 내가 그랬어 :
If filePath.Contains("UK") Then
myCountry = "UK"
ElseIf filePath.Contains("France") Then
myCountry = "France"
ElseIf filePath.Contains("Germany") Then
myCountry = "Germany"
ElseIf filePath.Contains("Spain") Then
myCountry = "Spain"
ElseIf filePath.Contains("Italy") Then
myCountry = "Italy"
End If
myCity와 myStreet (그리고 처음부터 문자열에 존재하는지 여부)를 알아 내려고 시도하면서 나는 다음과 같이 시작했습니다 :
Dim ind As Integer = Array.IndexOf(pathArr, myCountry)
myCountry 문자열의 색인을 가져 오려면. 나는 거기에서 내 길을 갈 수 있다고 생각했지만, 나는 붙어 있고 다음에해야할 일을 모른다. 어떤 도움을 주시면 감사하겠습니다.
정규식을 사용하여 경로를 구문 분석합니다. 나는 그러한 전문가가 아니므로 Regex를 사용하여 경로 문자열을 파싱하는 방법을 묻고 싶을 수도 있습니다. – m0s