我正在尝试拆分文件夹C:Users%username%AppDataLocalMicrosoftOffice16.0Lync
中的sip_address 由于我有多个活动的 SIP 地址,因此在此示例中获取所需的地址时会遇到一些问题
example2@example2.com
此文件夹中可能还有更多 SIP 地址,但我只想有一个示例2。
我从整理目录中的所有子文件夹开始,给我一个结果:
C:Users%username%AppDataLocalMicrosoftOffice16.0Lyncsip_example1@example1.com
C:Users%username%AppDataLocalMicrosoftOffice16.0Lyncsip_example2@example2.com
C:Usersc%username%AppDataLocalMicrosoftOffice16.0LyncTracing
这就是面临拆分问题的地方,因为我的代码根本不好,结果将是:
example2@example2.comC:\Users\%username%\AppData\Local\Microsoft\Office\16.0\Lync\Tracing
Imports System.IO
Public Class Form1
Dim SIPAccount As String
Private Sub GETSipAccount()
' Path and SIP-Addresses has been anonymous due to personal addresses.
For Each Dir As String In Directory.GetDirectories("C:Users%username%AppDataLocalMicrosoftOffice16.0Lync")
' List out directory
SIPAccount = SIPAccount & Dir & vbNewLine
On Error Resume Next ' I do not want to include this in my application at all
' Splits out text
SIPAccount = ((Split(Split(SIPAccount, "sip_")(1), "@example2.com")(0))) & "@example2.com"
MsgBox(SIPAccount)
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
GETSipAccount()
End Sub
根据"example2"字符串部分对于目录地址是否唯一,您可以使用类似的东西
Dim lst As List(Of String) = IO.Directory.GetDirectories("C:...").ToList
MessageBox.Show(lst.FindAll(Function(x) x.Contains("example2"))(0))
如果你只想比较字符串的最后一部分,你可以使用类似的东西
Dim lst As List(Of String) = IO.Directory.GetDirectories("C:...").ToList
For Each item As String In lst
Dim lastindexofbackslash As Integer = item.LastIndexOf("")
Dim _item As String = item.Substring(lastindexofbackslash + 1)
If _item.Contains("example2") Then
MsgBox(_item.Substring(4))
End If
Next