删除CSV上的数字行(脚本)

时间:2015-03-31 15:10:51

标签: parsing vbscript

我正在做一个连接到Web服务并生成带有库存数据的txt文件的脚本。之后,它会移动并重命名该文件。使用tablepress插件的WP站点每15分钟导入一个txt文件。 问题是我们需要在wp导入之前清除相当的行。 未修改的Txt文件显示如下:

122210099014
PTA200/234
202002800003
902002890008
20PHH4109/88/SC
211301487560
22PFL2807H/12/SC
242201500511

应该转换为:

20PHH4109/88/SC
22PFL2807H/12/SC

要删除 PTA 行,请使用以下代码:

Set objFS = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFS.OpenTextFile("Z:\COMUNIDAD\TP-VISION\Script\Stock\Stock.txt")
Set objFS1 = objFS.CreateTextFile("Z:\COMUNIDAD\TP-VISION\Script\Stock\Editedwp.txt",true)
objFS1.close
set objTextFile2 = objFS.OpenTextFile("Z:\COMUNIDAD\TP-VISION\Script\Stock\ParsedWP.txt",8)
strFile = "Z:\COMUNIDAD\TP-VISION\Script\Stock\Editedwp.txt"

Do Until objTextFile.AtEndOfStream
strLine = objTextFile.ReadLine
If InStr(strLine,"PTA")> 0 Then
    strLine = Replace(strLine,"DeleteMe",1)
  Else
objTextFile2.writeline strLine
End If

Loop

set objTextFile = nothing
set objTextFile2 = nothing

objFS.copyFile "Z:\COMUNIDAD\TP-VISION\Script\Stock\EditedWP.txt", "Z:\COMUNIDAD\TP-VISION\Script\Stock\Stock.txt", true
objfs.DeleteFile "Z:\COMUNIDAD\TP-VISION\Script\Stock\EditedWP.txt"

set objfs = nothing
set objfs1 = nothing

这让我删除一些我不需要的字母数字线。 但是如何清除第一列中仅包含数字内容的行? 非常感谢!

......我正在考虑它,现在我看到删除每行减去13个字符,也可以完成这项工作。所以...这个VBA可以工作还是转换为vbs

Sub DelRows()
Dim LR As Long, i As Long
Application.ScreenUpdating = False
LR = Range("A" & Rows.Count).End(xlUp).Row
For i = LR To 1 Step -1
If Len(Range("A" & i).Value) < 8 Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub

1 个答案:

答案 0 :(得分:0)

独立于您尝试执行此操作的语言,您可能希望使用此正则表达式:

/^[0-9]+$/

尝试将此正则表达式与每一行匹配。如果匹配,请删除该行。

正则表达式测试一行中是否只有数字。