我在Excel中有一行遵循以下语法的单元格:
随机文本值(随机数、随机文本、
我有一个VB脚本来使用正则表达式拆分文本:
Public Function SplitRe(text As String, pattern As String, Optional ignorecase As Boolean) As String()
Static re As Object
If re Is Nothing Then
Set re = CreateObject("VBScript.RegExp")
re.Global = True
re.MultiLine = True
End If
re.ignorecase = ignorecase
re.pattern = pattern
SplitRe = Strings.Split(re.Replace(text, vbNullChar), vbNullChar)
End Function
我正在使用的分隔符:(VALUES)+(s+)+(.)+d+(,)
这会导致文本被拆分为:
随机文本
我试图实现的是在脚本找到分隔符后拆分文本,创建以下内容:
随机文本值(随机数,
但是我找不到一种方法来适当地扩充我的脚本来做到这一点。有人看到解决方案吗?
没有正则表达式,也不拆分:
更快:
Left(text, InStrRev(text,",")) 'Truncate string after last comma
更安全(假设VALUES (
在前randomtext
中没有发生(:
Left(text, InStr(InStr(text,"VALUES ("),text,",")) 'Truncate string after comma which is after "VALUE ("