首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将文本行转换为变量?

如何将文本行转换为变量?
EN

Stack Overflow用户
提问于 2016-03-16 23:42:38
回答 4查看 286关注 0票数 1

看看这份清单。我需要将每个变量转换成一个变量,并设置为0。示例:

代码语言:javascript
复制
;1-Methyoxy-2-Propanol would be:
$OneMethoxyTwoPropanol = 0

;and 1,2-BUTADIENE would be:
$OneTwoButadiene = 0

将它们分配给一个变量不会有问题,但是有1500个变量。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-03-17 13:22:29

如果我必须这样做,我会这样做的:

  • 我将更改每个单词的情况:

将Regex改为判决案件

  • 做一个"SearchAndReplace“: 1 -> 1 2 -> 2 ..。 { -> '‘ {space} -> '‘ ..。
  • 然后,在像SublimeText这样的软件中,我将在每一行前面添加一个$,在最后添加一个= 0。借助Ctrl+Shift+L

也许您可以使用正则表达式来帮助您处理"SearchAndReplace“问题。

票数 0
EN

Stack Overflow用户

发布于 2016-03-17 18:13:32

像这样吗?

代码语言:javascript
复制
Local $sFilePath = @DesktopDir & "\test.ini"
Local $aArray = IniReadSection($sFilePath, "Variables")
Local $aVariablesArray[UBound($aArray)][2]

For $i = 1 To $aArray[0][0]
    $aVariablesArray[$i][0] = $aArray[$i][0]
    $aVariablesArray[$i][1] = $aArray[$i][1]
Next

For $i = 1 To UBound($aVariablesArray) -1
    MsgBox(0, "", "Variable: " & $aVariablesArray[$i][0] & @CRLF & "Value: " & $aVariablesArray[$i][1])
Next

您的ini文件应该如下所示

代码语言:javascript
复制
[Variables]
firstvariable=0
secondvariable=0
etc...=0

要创建ini文件,只需打开记事本,将该文件写下来,然后将其保存为.ini。

您可以使用RegEx根据需要重命名每个文件。创建的数组是一个2d数组。需要存储变量的名称和值。

票数 0
EN

Stack Overflow用户

发布于 2017-06-13 03:23:56

我只需将它们转换为变量,并将它们设置为0。

根据文档-简介-数组

Array是包含一系列数据元素的变量。这个变量中的每个元素都可以通过一个与数组中元素的位置相关的索引号来访问--在AutoIt中,数组的第一个元素总是元素。数组元素按定义的顺序存储,可以排序。

删除包含列表名称的行(; List I等)空行(或少于三个字符-)行(如$g_sRegexFilter所示)。将剩余的行存储到2D数组元素。示例:

代码语言:javascript
复制
#include <StringConstants.au3>
#include <FileConstants.au3>
#include <Array.au3>

Global Enum  $ITEM_NAME, _
             $ITEM_VALUE

Global Const $g_sFilePath    = 'C:\list.txt'
Global Const $g_sFileNewline = @CRLF
Global Const $g_sRegexFilter = '(?m)^(.{0,2}\v)|(;.*\v)$'
Global Const $g_sItemHeader  = 'name|value'

Global       $g_sFileText    = ''
Global       $g_aFileItems

$g_sFileText  = _TextFromFile($g_sFilePath)
$g_sFileText  = StringRegExpReplace($g_sFileText, $g_sRegexFilter, '')
$g_aFileItems = StringSplit($g_sFileText, $g_sFileNewline, $STR_ENTIRESPLIT + $STR_NOCOUNT)
_ArrayColInsert($g_aFileItems, $ITEM_VALUE)

For $i1 = 0 To UBound($g_aFileItems) - 1
    $g_aFileItems[$i1][$ITEM_VALUE] = 0
Next

_ArrayDisplay($g_aFileItems, '$g_aFileItems', '', 0, Default, $g_sItemHeader)

Func _TextFromFile(Const $sFile)
    Local       $hFile = FileOpen($sFile, $FO_READ + $FO_UTF8_NOBOM)
    Local Const $sData = FileRead($hFile)

    FileClose($hFile)
    Return $sData
EndFunc

返回:

代码语言:javascript
复制
1-Methoxy-2-Propanol      | 0
1,2-BUTADIENE             | 0
2-Diethyl aminoethanol    | 0
2-ETHYL HEXANOL           | 0
2-ETHYL HEXYL ACRYLATE    | 0
2-Ethyl hexyl lights      | 0
2-Ethyl phenol            | 0
2-Ethylsuccionitrile      | 0
2-Methyl piperidine       | 0
2-Methyl-2-Butene nitrile | 0
2-Methyl-2-Pentenal       | 0
2-Methyl-3-Butene nitrile | 0
2-Methylglutaronitrile    | 0
...

作为:

代码语言:javascript
复制
$g_aFileItems[ x ][$ITEM_NAME]
$g_aFileItems[ x ][$ITEM_VALUE]

使用_ArrayColInsert()添加其他列。

..。因为他们有1500人。

考虑使用SQLite相关

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36049076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档