对脚本文件执行分析
Performing analytics on a script file
我正在和一些朋友一起学习分析,最近我遇到了一个让我很苦恼的问题。我得到了一个大的(大约 17000 行)VB.net 脚本(当他使用这个脚本时),我应该在其中将一个 sub 与 Hashtags 配对。
代码示例如下:
Sub NewEPU(bLog)
arrList= Glo_arrMR_E_Base
arrList= Filter(arrList,"E#[None]",FALSE,0)
arrList2= Glo_arrMR_A_Base
'deactivated: incorrect SB21042016'
'arrList2= Filter(arrList2,"A#[Owned]",FALSE,0)
'arrList2= Filter(arrList2,"A#[Outstanding]",FALSE,0)
For each strMR_E in arrList
For each strMR_A in arrList2
HS.NoInput "E#" & strMR_E & ".A#" & strMR_A & ".V#[None]"
Next
Next
End Sub
所以基本上,我的新代码应该通过这个子 (NewEPU) 和 return 这个子有 E#、A# 和 V#。我认为的伪脚本是:
<read files>
<search for '*#'>
<If found>
<Search 'sub' before & read name>
<Search 'sub' after & read name>
< If not found>
<Do nothing>
我正在考虑处理 Python,但 NLTK 正在划分 subs 而无助于创建上面的逻辑。有谁知道如何解决这个问题?是否有更好的工具或更好的语言来做到这一点?
我找到了解决问题的方法。
首先我用枚举检查结束语句行:
End = [i for i, s in enumerate(script) if 'End Sub' in s]
随后在拆分字符串上搜索 'Sub' 单词的行,因为 sub 后面跟着函数名称,因为 'End Sub' 后面没有任何内容:
id_Sub = [i for i, s in enumerate(script) if 'Sub' in s.split()]
我从那里搜索 # 并检索行。来自 DataFrame
的简单比较
我正在和一些朋友一起学习分析,最近我遇到了一个让我很苦恼的问题。我得到了一个大的(大约 17000 行)VB.net 脚本(当他使用这个脚本时),我应该在其中将一个 sub 与 Hashtags 配对。
代码示例如下:
Sub NewEPU(bLog)
arrList= Glo_arrMR_E_Base
arrList= Filter(arrList,"E#[None]",FALSE,0)
arrList2= Glo_arrMR_A_Base
'deactivated: incorrect SB21042016'
'arrList2= Filter(arrList2,"A#[Owned]",FALSE,0)
'arrList2= Filter(arrList2,"A#[Outstanding]",FALSE,0)
For each strMR_E in arrList
For each strMR_A in arrList2
HS.NoInput "E#" & strMR_E & ".A#" & strMR_A & ".V#[None]"
Next
Next
End Sub
所以基本上,我的新代码应该通过这个子 (NewEPU) 和 return 这个子有 E#、A# 和 V#。我认为的伪脚本是:
<read files>
<search for '*#'>
<If found>
<Search 'sub' before & read name>
<Search 'sub' after & read name>
< If not found>
<Do nothing>
我正在考虑处理 Python,但 NLTK 正在划分 subs 而无助于创建上面的逻辑。有谁知道如何解决这个问题?是否有更好的工具或更好的语言来做到这一点?
我找到了解决问题的方法。
首先我用枚举检查结束语句行: End = [i for i, s in enumerate(script) if 'End Sub' in s]
随后在拆分字符串上搜索 'Sub' 单词的行,因为 sub 后面跟着函数名称,因为 'End Sub' 后面没有任何内容: id_Sub = [i for i, s in enumerate(script) if 'Sub' in s.split()]
我从那里搜索 # 并检索行。来自 DataFrame
的简单比较