【发布时间】:2019-09-30 16:55:10
【问题描述】:
我有数千行需要处理的文本以及我感兴趣的行,如下所示:
01/04/2019 09:35:41 - Test user (Additional Comments)
我目前正在使用此代码过滤掉所有其他行:
If InStr(FullCell(i), " - ") <> 0 And InStr(FullCell(i), ":") <> 0 And InStr(FullCell(i), "(") <> 0 Then
FullCell 是我正在处理的数组。
我知道这不是最好的方法。有没有办法检查字符串开头是否有日期,格式为 dd/mm/yyyy,然后在“-”和“(”符号之间提取用户名。
我玩了正则表达式,看看是否有帮助,但我的技能有限,无法在同一代码中同时实现 VBA 和正则表达式。
最好的方法是什么。
【问题讨论】:
-
尝试像
^\d?\d\/\d?\d\/\d\d\d\d[^-]*-([^(]*)\(.*这样的正则表达式,其中名称在第 1 组中 -
Msgbox CDate(Left("01/04/2019 09:35:41 - Test user (Additional Comments)", 19))
标签: regex excel vba date regex-lookarounds