How To Call It
Str is a global table: call its functions with a dot (Str.<method>(...)), not a colon.
Compares two OCR strings using text_exact, text_normalized, text_contains, text_similar or number. Returns status, score and matched. Empty input never matches; limit 1024 characters. Numeric mode requires one decimal and a nonnegative tolerance.
Documented for app version 1.0.55Updated:
Str is a global table: call its functions with a dot (Str.<method>(...)), not a colon.
In data flow, chaining JSON, Regex, Str, Map, and File steps to normalize intermediate values reduces error risk.
Required: left, right, mode, operator, tolerance. Returns a Lua table.
When combined with Str, JSON, Regex, Array, Map, and File, data transformation becomes much more readable in script flow.
The snippet below is a starter pattern that can be applied directly in runtime flow.
local result = Str.compareOcr(" Level 12 ", "level 12", "text_normalized", "==", 0)From foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.
local result = Str.compareOcr(" Level 12 ", "level 12", "text_normalized", "==", 0)local stepOk = true
local result = Str.compareOcr(" Level 12 ", "level 12", "text_normalized", "==", 0)
if stepOk then
wait(200)
endlocal ok, err = pcall(function()
local result = Str.compareOcr(" Level 12 ", "level 12", "text_normalized", "==", 0)
end)
if not ok then
print("API step failed: Str.compareOcr: " .. tostring(err))
requestStop()
end-- In data flow, chaining JSON, Regex, Str, Map, and File steps to normalize intermediate values reduces error risk.
local function run_compareocr_step()
local result = Str.compareOcr(" Level 12 ", "level 12", "text_normalized", "==", 0)
end
local ok, err = pcall(run_compareocr_step)
if not ok then
toast("Step failed")
print(err)
endlocal result = Str.compareOcr(" Level 12 ", "level 12", "text_normalized", "==", 0)
local raw = File.read("macro.log")
local normalized = Str.trim(raw)
print(normalized)