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

网友投稿 545 2022-10-18

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

上一篇:wps文档怎么添加虚线边框? wps添加虚线边框的教程
下一篇:项目管理的十个领域
相关文章