0

我有这样的字符串 -

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 只是示例。它可以是任何东西。我想删除这三个字母之前的数字。

请帮帮我!

4

1 回答 1

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)
于 2013-08-27T17:55:19.907 回答