2014-10-22 3 views
0
Dim suffix As String = "_version" 

난 내가 "Something_version"을 얻을 수 있도록 "1.JPG"vb.net에서이 파일 이름/문자열을 어떻게 분할 할 수 있습니까?

filename = filename.Split(New String() {suffix}, StringSplitOptions.None)(1) 
저를 얻는다 다음

을이 분할해야 "Something_version1.jpg"

라는 파일이

그리고 다음은 나에게 "무언가"를 가져옵니다

filename = filename.Split(New String() {suffix}, StringSplitOptions.None)(0) 

내가 필요한 것 "Something_version"입니다.

접미사는 동적이며 변경할 수 있습니다.

희망은 내가 만드는 것보다 쉽습니다.

감사합니다.

+1

그리고 "1.jpg"부분에 전혀 신경 쓰지 않으시겠습니까? 원하는 모든 것은 접미사와 접미사 앞 부분입니다. 스플릿과 같은 사운드는 잔인한 부분이지만, 실제로 분리하려는 경우 위에있는 것 (두 번째 것)을 사용하여 접두어를 얻고 간단히 접두어와 접미사를 연결하여 원하는 답변을 얻을 수 있습니다. –

+0

@AndrewBarber 접미어 오른쪽의 숫자 때문에 제안을 활용하는 방법을 잘 모르겠습니다. 뇌의 치명적인 순간을 겪을 수도 있습니다. – user1447679

+0

@GeoffreyWiseman 왜 이런 생각을하지 않았는지 말해 주시겠습니까? 오 세상에 ... – user1447679

답변

1

모든에서 "1.JPG"부분을 신경 쓰지 않고, 당신이 원하는 모든 접미사 접미사 이전의 일부인 경우, 당신은 당신이 위의 무엇을 할 수있는 (두 번째) 접두사를 가져오고 접두어와 접미사를 연결하여 찾고있는 대답을 얻으십시오.

스플릿 통화가 잔인 할 수 있지만 작업을 수행합니다.

+0

'filename = filename.Split (새 문자열() {접미사}, StringSplitOptions.None) (0) + suffix' - 죄송합니다. 몇 주 전에 저와 같은 고급 프로그래머에 대한 코멘트로 추가되었습니다 :) ("+" by "&"당신이 사용하지 않는 경우 Option Strict와 Option Explicit) –

+1

답변을 수락하는 것에 대해 미안해합니다. 나는 당신의 간단한 제안을 고맙게 생각합니다. 그것은 제가 필요로하는 것에 대해 완벽하게 유효합니다. – user1447679

0

시험해보세요.

Option Strict On 
Option Explicit On 
Option Infer Off 
Public Class Form1 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     Dim suffix As String = "_version" 
     Dim searchThis As String = "something_version1.png" 
     MsgBox(GetPrefix(suffix, searchThis)) 
    End Sub 
    Function GetPrefix(suffix As String, searchThis As String) As String 
     Dim suffixLocation As Integer = searchThis.IndexOf(suffix) + suffix.Count 
     Return searchThis.Substring(0, suffixLocation) 
    End Function 
End Class 
관련 문제