删除String VBScript中特定位置的数字

时间:2013-08-27 17:53:01

标签: vbscript

我有这样的字符串 -

CRS|R|S||3.0|25|W||U||||0||ECN|211|MACROECONOMIC PRINCIPLES
CRS|R|S||3.0|25|F||U||||0||CIS|105|SURVEY COMPUTER INFO SYSTEMS
CRS|R|S||3.0|25|A||U||||12||CSR|207|AUTOMOBILE POLICY ADJUSTMENT

这些的格式总是这样。 我想在上面的ECN,CIS或CSR之前删除任何数字。 所以在处理之后,我的输出应该是这样的 -

CRS|R|S||3.0|25|W||U||||||ECN|211|MACROECONOMIC PRINCIPLES
CRS|R|S||3.0|25|F||U||||||CIS|105|SURVEY COMPUTER INFO SYSTEMS
CRS|R|S||3.0|25|A||U||||||CSR|207|AUTOMOBILE POLICY ADJUSTMENT
从上面的字符串中删除

0和12。

请注意 - ECN,CIS或CSR就是例如。它可以是任何东西。我想在这3个字母之前删除这些数字。

请帮帮我!

1 个答案:

答案 0 :(得分:2)

|上尝试Split,清空相应位置的值,然后Join|一起。

Option Explicit

Dim input
Dim lines, ub, i, lineParts
Dim output

input = "CRS|R|S||3.0|25|W||U||||0||ECN|211|MACROECONOMIC PRINCIPLES" & vbCrLf & _
    "CRS|R|S||3.0|25|F||U||||0||CIS|105|SURVEY COMPUTER INFO SYSTEMS" & vbCrLf & _
    "CRS|R|S||3.0|25|A||U||||12||CSR|207|AUTOMOBILE POLICY ADJUSTMENT"

lines = Split(input, vbCrLf)
ub = UBound(lines)
For i = 0 To ub
    lineParts = Split(lines(i), "|")
    lineParts(12) = ""
    lines(i) = Join(lineParts, "|")
Next

output = Join(lines, vbCrLf)