Vba 如何按大写字母或美元(';$';)符号拆分字符串
我在一个单元格中有一个字符串,上面写着“不罚400加元” 我想将字符串拆分为:str1=“无惩罚”;str2=“无处罚”;str3=“$400” 我曾想过用大写字母和$符号来拆分字符串,但我不知道如何拆分Vba 如何按大写字母或美元(';$';)符号拆分字符串,vba,Vba,我在一个单元格中有一个字符串,上面写着“不罚400加元” 我想将字符串拆分为:str1=“无惩罚”;str2=“无处罚”;str3=“$400” 我曾想过用大写字母和$符号来拆分字符串,但我不知道如何拆分 stri = "No penalty No penalty $400" temp = "" temp = stri For i = 1 To Len(temp) If Mid(temp, i, 1) = UCase(Mid(temp, i, 1)
stri = "No penalty No penalty $400"
temp = ""
temp = stri
For i = 1 To Len(temp)
If Mid(temp, i, 1) = UCase(Mid(temp, i, 1)) Then
If i <> 1 Then
str1 = Left(temp, i - 1) + Right(temp, Len(temp) - i + 1)
i = i + 1
End If
End If
Next i
splitbycaps = temp
stri=“无罚款无罚款$400”
temp=“”
温度=stri
对于i=1至Len(温度)
如果Mid(temp,i,1)=UCase(Mid(temp,i,1)),则
如果我是1那么
str1=左(温度,i-1)+右(温度,透镜(温度)-i+1)
i=i+1
如果结束
如果结束
接下来我
splitbycaps=温度
我现在很迷路。选项显式
子测试()
像线一样变暗
对象匹配
我想我会坚持多久
将()变暗为字符串
s=“无罚款无罚款$400”
使用CreateObject(“VBScript.RegExp”)
.Global=True
.MultiLine=True
.IgnoreCase=False
.Pattern=“[A-Z$][^A-Z$]*”
Set ocMatches=.Execute(s)
以
如果ocMatches.Count>0,则
重拨a(1到ocMatches.Count)
对于i=1至UBound(a)
a(i)=微调(ocMatches(i-1).值)
下一个
如果结束
端接头
非常感谢您。我也有类似的问题,字符串是“扣除后20%无罚款40%扣除后”,应该分为“无罚款”、“扣除后20%和扣除后40%”。我尝试将“$”替换为“%”,但它在%部分分裂。我怎样才能保留这些数字?@RobinScherbatsky try(?:(?!\d+%)[\s\s])*