Excel VBA-删除部分string

我正试图删除部分string。 例如
mystring="site, site text, sales "

我想从mystring中删除“ 网站 ”。 我需要的输出是“网站文字,销售”

我使用这一行代码:

 s1 = Replace(mystring, "site", "") 

但我正在"text, sales"

我不知道如何做到这一点,我真的很感激你的帮助!

 replace("site, site text, sales ","site, ","",1,1) 

您也可以将参数作为开始位置,然后input要replace的次数…(默认值为-1)

你也可以像这样使用VB的MIDfunction:

 Mystring=Mid(myString, 6) 

输出将是“网站文字,销售”

只需指定要在数字部分中删除的字符

这里有很多不同的select:

只要在searchstring中join昏迷字符来replace,然后使用Trim来除去空格:

 s1 = Trim(Replace(mystring, "site,", "")) 

指定要replacestring的次数 (第一个“1”是开始,第二个是replace次数)

 s1 = Trim(Replace(mystring, "site,", "",1,1)) 

或硬/坏的方式,在第一次发生后分解你的string ,然后重新组合得到结果…

 TempStart = Left(mystring, InStr(1, mystring, "site") + Len(mystring) + 1) TempEnd = Replace(mystring, TempStart, "") TempStart = Replace(TempStart, "site", "") mystring = CStr(TempStart & TempEnd) 

在我的情况下,我想删除“[”和“]”之间的部分string。 下面的代码工作得很好。

所以用A列中的原始string(和列B中的解决scheme):

 Sub remove_in_string() Dim i, lrowA, remChar As Long Dim mString As String lrowA = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To lrowA mString = Cells(i, 1).Value If InStr(mString, "[") > 0 Then remChar = InStr(mString, "]") - InStr(mString, "[") + 1 Cells(i, 2).Value = Left(mString, Len(mString) - remChar) ElseIf InStr(mString, "[") = 0 Then Cells(i, 2).Value = Cells(i, 1).Value End If Next End Sub