MS Access VBA替换字符串中的指定范围

MS Access VBA替换字符串中的指定范围,vba,ms-access,replace,Vba,Ms Access,Replace,我试图在没有特别给出替换函数“40-S8-7710”的情况下去掉字符串中的“40-S8-7710”,因为可能会有其他字符串包含“50-S2-7710”、“11-42-7710”等。。 下面的代码删除了“40-S8-7710”,但也删除了之后的所有内容。 我想返回“10-7190 20-2071 30-2061 S1-AOUT04X188” 有什么想法吗 Dim NewString As String Set NewString = "10-7190 20-2071 30-2061 40-S8-7

我试图在没有特别给出替换函数“40-S8-7710”的情况下去掉字符串中的“40-S8-7710”,因为可能会有其他字符串包含“50-S2-7710”、“11-42-7710”等。。 下面的代码删除了“40-S8-7710”,但也删除了之后的所有内容。 我想返回“10-7190 20-2071 30-2061 S1-AOUT04X188”

有什么想法吗

Dim NewString As String
Set NewString = "10-7190 20-2071 30-2061 40-S8-7710 S1-AOUT04X188"

NewString = Replace(NewString , Mid(NewString , InStr(NewString , "7710") - 6), "")
MsgBox(NewString)

通过这样做,我能够找出如何执行我想要的操作

NewString= (Replace(NewString, (Mid(NewString, (InStr(NewString, "7710") - 7), 11)), ""))

这将返回“10-7190 20-2071 30-2067 S1-AOUT04X188”。。。。。。“7710”是我唯一可以用来提取的唯一数字,因为“7710”左边的6个字符可能不同,这取决于用户输入的内容。谢谢你的帮助。

左([string],24)+右([string],13)

嗯。为什么不简单地
Replace(新闻字符串,“40-S8-7710”,”)
?我不想指定Replace(新闻字符串,“40-S8-7710”,”,因为如果我得到另一个等于“10-7190 20-2071 30-2061 45-D2-7710 S1-AOUT04X188”的新闻字符串,我想删除“7710”我的函数中的NewString总是会将“7710”左边的6个字符更改为6个字符。因此,我想删除“7710”和它左边的6个字符,因为“7710”左边的6个字符将始终更改您不需要设置
来为
NewString
赋值。只需执行
NewString=“10-7190…”