我想替换字符串中的日期。
Dim s As String =
"06-26-19 06:09PM <DIR> 10
07-25-19 01:40PM <DIR> 13
07-02-19 06:08PM <DIR> 14
07-24-19 05:49PM <DIR> 15
06-21-19 08:00PM <DIR> 17"
所需结果:
10 13 14 15 17
答案 0 :(得分:0)
这演示了一种基本方法,该方法使用Split命令将所需的字符串分解为文本,然后将每一行分为几列。
我用Command1按钮创建了一个新项目来测试代码:
Private Sub Command1_Click()
Dim s As String
s = "06-26-19 06:09PM <DIR> 10" & vbCrLf & _
"07-25-19 01:40PM <DIR> 13" & vbCrLf & _
"07-02-19 06:08PM <DIR> 14" & vbCrLf & _
"07-24-19 05:49PM <DIR> 15" & vbCrLf & _
"06-21-19 08:00PM <DIR> 17"
MsgBox GetData(s)
End Sub
在此示例中,它使用vbCrLf重新创建作为字符串变量发布的字符串,并使用vbCrLf分解为几行,确保与数据中的换行符相同并替换
Function GetData(ByVal p_sDirectoryListing As String) As String
Dim arrLines As Variant
Dim arrColumns As Variant
Dim iCounter As Integer
Dim sReturn As String
' Split string into array, using CRLF as delimiter
arrLines = Split(p_sDirectoryListing, vbCrLf)
' Initialize return value
sReturn = ""
For iCounter = 0 To UBound(arrLines)
' Break line down into columns
arrColumns = Split(arrLines(iCounter), " ")
' Append space after previous value, you can change this to any delimiter you like
If sReturn <> "" Then sReturn = sReturn & " "
' Append last column to return string
sReturn = sReturn & arrColumns(UBound(arrColumns))
Next
GetData = sReturn
End Function