vba - 如果找到字符,VBA 从字符中修剪字符串
问题描述
这可能已经被问过一百万次不同的变化,但我找不到合适的答案。
我有一个包含最多 4 个 MUT ID 的字符串(“MUT”后跟 5 个数字,例如 MUT00761)。如果有多个 ID,则以空格分隔。在某些情况下,两个 ID 之间也会有 * 号(例如 MUT00761 * MUT00684)。* 与左侧的 MUT ID 相关联。如果有的话,我需要删除所有这些 MUT ID(及其 *)。
例如,“MUT00111 MUT00222 * MUT00333 MUT00444 *”需要变为“MUT00111 MUT00333”。
解决方案
使用 Microsoft VBScript 正则表达式 5.5 库将“MUT *”的实例替换为 vbNullString。
或者
如果你不;t grok Regex 一个简单的函数,比如
Public Function StripStarredIds(ByVal IdString As String) As String
Do While InStr(IdString, "*")
IdString = Replace(IdString, Mid$(IdString, InStr(IdString, "*") - 10, 10), vbNullString)
Loop
StripStarredIds = IdString
End Function