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