我需要在QTP中根据分隔符“,”将以下字符串中的值分开 (CurrentAmount = 140,000.00,货币= USD,originalAmount = 200,000.00)
我使用下面的代码
splittext= Split (strng, ",")
For i=0 to ubound(splittext)
msgbox splittext(i)
next
这里的问题是,输出值是这样的
0= CurrentAmount=140
1= 000.00
2= currency=USD.... so on
由于140,000.00中的“,”,代码将以下值(CurrentAmount = 140,000.00)拆分为两部分
我需要一个代码来根据分隔符“,”来分隔值,但是应该忽略数字数据中的“,”
请让我解决这个问题......谢谢
答案 0 :(得分:1)
这应该很简单 - 假设在所需的delim逗号char之后有一个空格。注意Split
函数中使用逗号后的空格。
Public Sub Test()
splitText = Split("CurrentAmount=140,000.00, currency=USD, originalAmount=200,000.00", ", ")
For i = 0 To UBound(splitText)
MsgBox splitText(i)
Next
End Sub
答案 1 :(得分:1)
Pankaj Jaju的解决方案有效,假设您可以信任CSV字符串,以便在分隔字段的逗号后始终有空格。但我认为潜在的问题是输入的格式没有明确规定。如果你可以改变格式,你应该删除数字中的逗号。或者你可以正确地逃避逗号,但是正确使用正则表达式会稍微复杂一些。 (关于如何以CSV格式转义逗号有不同的标准 - 某些系统使用\,
,其他系统使用引号。)