excel - 分隔字符串并仅显示第一个值
问题描述
开发一个分隔字符串的函数,我想在 = 之后显示第一个值,即 16 而不是整个分隔的字符串。
我希望能得到一些帮助谢谢。
Sub Split()
Dim arr() As String
arr = Split("KeyNo = ,16,17,18", ",")
Dim name As Variant
For Each name In arr
Debug.Print name
Next
End Sub
这个也是
Sub Split2()
Dim arr() As String
arr = Split("KeyNo = 16,17,18", ",")
Dim name As Variant
For Each name In arr
Debug.Print name
Next
End Sub
解决方案
处理此问题的一种方法是使用正则表达式:
Option Explicit
Private Sub Test()
MsgBox ExtractFirstNumber("KeyNo = ,16,17,18")
MsgBox ExtractFirstNumber("KeyNo = 16,17,18")
End Sub
Private Function ExtractFirstNumber(ByVal Value As String) As String
Dim regex As regExp
Dim matches As MatchCollection
Set regex = New regExp
regex.Pattern = "\d+"
regex.Global = True
If regex.Test(Value) Then
Set matches = regex.Execute(Value)
ExtractFirstNumber = matches(0)
End If
End Function
推荐阅读
- facebook - 将 Facebook Checkbox 插件用作 iframe 小部件时出现 CSP 错误
- git - Git 仍在跟踪我已经删除的文件
- sql - 在 MS SQL Server 中创建索引时,INCLUDE() 函数的作用是什么?
- python - 如何从仪表板调用 python 函数?
- javascript - Axios API 返回 Promise
- python-3.x - 在 python 中读取正在运行的日志文件,并能够在某个字符串或事件发生时创建输出标志
- node.js - MongoDB - 何时添加子文档以及何时引用
- r - 尝试在 R 中创建晶格时,我不断收到“乐趣错误(键 = 基数”)
- ios - UIScrollView bar 插入标签栏和导航栏的大小
- javascript - 未捕获的 ReferenceError:随机数未在 test.js 中定义