Замените материал в файле String / TXT, добавьте dim к символам и цифрам в качестве значений. - PullRequest
0 голосов
/ 17 февраля 2012

Я пытаюсь понять это, и я просто не могу заставить его работать, я застрял, пожалуйста, помогите.

У меня есть файл .txt, который будет выглядеть примерно так

Пример:

GA117.50.0117.50.0117.50.0IL16.08.08.00.016.00.0IN284.09.4274.60.0284.00.0KY137.60.0137.60.0137.60.0TN170.30.0170.30.0170.30.0US725.417.4708.00.0725.40.0TOTAL725.417.4708.00.0725 .40.0

То, что я пытаюсь сделать в classic-asp, это получить буквы / слова в dim (и добавить str перед буквами / word) и цифры в качестве значения для dim, но только для первого периода и еще 1 число справа после точки, а затем переходите к следующей букве / слову.

итоговый результат будет выглядеть примерно так:

dim strGA
dim strIL
dim strIN
dim strKY
dim strTN
dim strUS
dim strTOTAL

strGA=117.5
strIL=16.0
strIN=284.0
strKY=137.6
strTN=170.3
strUS=725.4
strTOTAL=725.4

Большое спасибо за любую помощь в решении этой проблемы / вопроса.

1 Ответ

3 голосов
/ 17 февраля 2012

Рассмотрим следующий пример.
Может потребоваться изменить шаблон в соответствии с именами переменных.

Dim strTest
    strTest = "GA117.50.0117.50.0117.50.0IL16.08.08.00.016.00.0IN284.09.4274.60.0284.00.0KY137.60.0137.60.0137.60.0TN170.30.0170.30.0170.30.0US725.417.4708.00.0725.40.0TOTAL725.417.4708.00.0725.40.0"
Dim re
Set re = New RegExp
    re.IgnoreCase = True
    re.Global = True
    re.Pattern = "([a-z]+)(\d+\.\d)"

Dim collMatches
Set collMatches = re.Execute(strTest)
Dim iMatch, strDims, strAssocs
For Each iMatch In collMatches
    strDims = strDims & "Dim str" & iMatch.SubMatches(0) & vbCrLf
    strAssocs = strAssocs & "str" & iMatch.SubMatches(0) & " = " & iMatch.SubMatches(1) & vbCrLf
Next

Dim strExec
strExec = strDims & vbCrLf & strAssocs

'Dump
Response.Write "Dump:<hr /><pre>" & strExec & "<pre>"

ExecuteGlobal strExec 'Execute the code

'Test
With Response
    .Write "Executed:<hr />"
    .Write "strGA: " & strGA & "<br />"
    .Write "strIL: " & strIL & "<br />"
    .Write "strIN: " & strIN & "<br />"
    .Write "strKY: " & strKY & "<br />"
    .Write "strTN: " & strTN & "<br />"
    .Write "strUS: " & strUS & "<br />"
    .Write "strTOTAL:" & strTOTAL & "<br />"
End With
...