VBA。如何找到字符串中第一个数字的位置
我有字符串“ololo123”。 我需要获取第一个数字的位置 - 1。 如何设置搜索掩码?
I have string "ololo123".
I need get position of first digit - 1.
How to set mask of search ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
这是一种轻量级且快速的方法,可以避免添加正则表达式/引用,从而有助于减少开销和可移植性(这应该是一个优势)。
Here is a lightweight and fast method that avoids regex/reference additions, thus helping with overhead and transportability should that be an advantage.
像这样的东西应该适合你:
然后你可以这样称呼它:
Something like this should do the trick for you:
You can then call it like this:
不确定您的环境,但这在 Excel 2010 中有效
Not sure on your environment, but this worked in Excel 2010
我实际上有这个功能:
I actually have that function:
您可以尝试正则表达式,然后您会遇到两个问题。我的 VBAfu 不合格,但我会尝试一下:
然后您只需使用
FirstDigit("ololo123")
调用它即可。You could try regex, and then you'd have two problems. My VBAfu is not up to snuff, but I'll give it a go:
Then you just call it with
FirstDigit("ololo123")
.如果速度是一个问题,这将比 Robs (noi Rob) 运行得快一些:
If speed is an issue, this will run a bit faster than Robs (noi Rob):
spere 答案的改进版本(无法编辑他的答案),适用于任何模式
要获取模式值,您可以使用以下内容:
示例使用:
An improved version of spere's answer (can't edit his answer), which works for any pattern
To get the pattern value you can use this:
Example use: