謝謝各位高手,但是我的案例是一組字串有多個" ",而且要第1個"要和第2個" 配成一組,第3個"和第4個"
配成一組,所以第2個"和第3個"之間的空白要維持,
附上例子
set address "Trust" "172.22.112.113/32 Apple TV" 172.22.112.113 255.255.255.255 "Tel 2245 U7A4"
要變成
set address "Trust" "172.22.112.113/32_Apple_TV" 172.22.112.113 255.255.255.255 "Tel_2245_U7A4"作者: 准提部林 時間: 2015-12-9 17:27
本帖最後由 准提部林 於 2015-12-10 13:27 編輯
雙引號組數有多組, 文字字元數不固定, 可考慮自訂函數:
Function Replace_Space(xStr$) As String
Dim i%, N%, K%, T$, TT$
For i = 1 To Len(xStr)
T = Mid(xStr, i, 1)
'_逐一取出字串的字元
If T = """" Then N = 1 - N: K = 0
'_T若為雙引號,N值轉換成1或0_當N=0,1-0=1_當N=1,1-1=0_K歸零
If N = 1 And K = 0 Then K = InStr(i + 1, xStr, """")
'_當N=1,表示是每對雙引號的〔第1個〕,再去檢查其後是否有另一個雙引號可配對,若有,則K>0
If K > 0 And T = " " Then T = "_"
'_當K>0,表示〔空白格〕仍在雙引號範圍中,取代為"_",直至再遇到下一個雙引號為結束,N及K返回0
TT = TT & T
Next i
Replace_Space = TT
End Function
謝謝版主,解決我的問題了
可以再請教
T = Mid(xStr, i, 1)
If T = """" Then N = 1 - N: K = 0
If N = 1 And K = 0 Then K = InStr(i + 1, xStr, """")
If K > 0 And T = " " Then T = "_"
TT = TT & T
這段的意思嗎?謝謝作者: 准提部林 時間: 2015-12-10 13:29