我正在学习茄子。我想为一个特定字符串的字符串,然后获取该字符串后面的文本。例如,我想获取以下字符串的版本号,因为它会发生变化。
This is some log statement telling me the that the version=1.2.3
有办法吗?
答案 0 :(得分:2)
您可以使用以下代码从该文本行中提取版本号。
set line = "This is some log statement telling me the that the version=1.2.3"
set versionIndicator = "version="
if versionIndicator is in line
set indicatorPosition = word number containing versionIndicator within line
set versionNumber = word indicatorPosition of text
delete versionIndicator from versionNumber --removes "version="
end if
如果您知道这将是该行的最后一个字,您可以直接解决,而不是先计算它的位置。
if version indicator is in line
set versionNumber = last word of line
delete versionIndicator from versionNumber
end if
答案 1 :(得分:1)
执行此类任务的一种非常有效的方法是使用OCR搜索的FoundImageRectangle属性来创建SearchRectangle。
Put ImageRectangle (text:"version=", ValidWords:"*") into VersionTag //Since the string we're searching for isn't a dictionary word the ValidWords:"*" can help out.
Put ReadText ((right of VersionTag, top of VersionTag +5, x of RemoteScreenSize(), bottom of VersionTag), ValidCharacters:"1234567890.") into VersionNumber //Limiting the available characters for the read should improve reliability of the result.
这将最终为您提供字符串“version =”右侧的所有文本。如果您可以使用其他限制,例如UI元素的边缘,则可以使用其中的X而不是RemoteScreenSize。
答案 2 :(得分:0)
我们不能使用此简单提及的代码通过
来验证UI中存在的任何数据吗?//SearchRectangle concept
set DATA to "ABCCordinates"
**Put ImageRectangle("ImageLocation")into SR_Searchdropdown
Set SR_Diff_SearchOption to ((0,0,0,0))
If ImageFound(text:DATA,SearchRectangle:SR_Searchdropdown+SR_Diff_SearchOption, waitFor:100) then
Click FoundImageLocation()**
//代码解释
我认为这可能是使用“搜索矩形”坐标查找数据的最简单方法。