如何获取含有相同字符的字符串中该字符第n次出现的位置?

网友投稿 827 2025-04-04

如何获取含有相同字符的字符串中该字符第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小时内删除侵权内容。

上一篇:wps流程图模板怎么修改
下一篇:2007excel如何加斜线
相关文章