【发布时间】:2016-12-08 01:09:13
【问题描述】:
有没有办法在一个字符串中找到一个子字符串,然后替换该子字符串和它前后的多个字符?
例如,我有这些:
Mandatory659852 y n n TRY RACE
Mechanica888654 y n n FRY SAME
GILLETE685254 y n n CRY FACE
我可以编写 VBA 来删除子字符串 " y n n ",包括子字符串左侧的任何 6 个字符和右侧的任何 3 个字符吗?所以结果应该是:
"Mandatory RACE"
"Mechanica SAME"
"GILLETE FACE"
我无法在 Google 上进行搜索,因为我不知道该术语是什么。我知道我可以在 VBA 中使用 .replace 来替换子字符串,但我不知道如何按字符数使用通配符,例如 .replace(****** y n n ***)
【问题讨论】:
-
您需要 VBA 吗?我认为你可以做到这一点,使用
Mid()和Search()。编辑:这是一种快速,可能太简单的方式:=LEFT(A1,SEARCH(" ",A1))&RIGHT(A1,4)。如果您在 VBA 中需要它,只需将其“翻译”为 VBA。这假设您的最后一个单词始终是 4 个字母...如果更多,您可以调整。 -
我更喜欢 VBA 而不是工作表,因为从长远来看,我的工作量较少,但无论您是手动还是编程,我还想问您是否宁愿使用 Left() 和 Mid()或 Find() (如果手动搜索())
-
谢谢各位,我知道 Left() 和 Mid(),但我正在寻找一种方法来尽可能减少和更简单的编码。 Left() 和 Mid() 是我的第一个选择,但后来我记得以前看到过这样的解决方案,我只是不记得该解决方案的术语或名称。:) 由于其他原因,我需要通过 VBA 找到解决方案。