如何獲取含有相同字符的字符串中該字符第n次出現的位置?
如何獲取含有相同字符的字符串中該字符第n次出現的位置?

Q:有時候,我們需要獲取字符串中某字符第n次出現的位置。例如,在單元格A1中的字符串為“xy-01-02”,如何知道字符“–”第2次出現的位置呢?(當然,我們數一下,就可以知道在該字符串的第6位第2次出現了字符“–”)
A:我們這里使用VBA代碼自定義函數來實現,詳細的代碼清單如下:
FunctionGetNthPos(str, n, separator) As Long
Dim sp As Variant
Dim i As Long, num As Long
sp = Split(str, separator)
If n > UBound(sp) Then
MsgBox “不存在這個位置!”
Exit Function
End If
For i = 0 To n – 1
num = Len(sp(i)) + num
Next
GetNthPos = num + n
EndFunction
效果如下圖所示:
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。