function addIfNew(set, item) { if (pos(" " + set + " ", " " + item + " ") > 0) { return set; } if (set == "") { return item; } return set + " " + item; } function extractNumbers(str) { ZERO = ascW("0"); NINE = ascW("9"); numberStart = 0; result = ""; for (i = 1; i <= len(str); i++) { c = ascW(mid(str, i, 1)); isDigit = (c >= ZERO && c <= NINE); if (isDigit && numberStart == 0) { numberStart = i; } else if (!isDigit && numberStart > 0) { currentNumber = mid(str, numberStart, i - numberStart); result = addIfNew(result, currentNumber); numberStart = 0; } } if (numberStart > 0) { result = addIfNew(result, mid(str, numberStart)); } return result; } [x,y] = extractNumbers([x,y]);