He's asking about real("$315.0") not string() which crashes because you can't convert $ to real.So string("£786") should return "£786".
if string_digits(string_char_at(str, 1)) = ""
{str = string_delete(str, 1, 1)}
val = real(str)
var str = argument0, i = 0, c, new_str = "";
repeat string_length(str)
{
c = string_char_at(str, ++i)
if c = "."
|| c = "-"
|| c = ","
|| string_digits(c) != ""
{new_str += c}
}
return new_str
var str = argument0, i = 0, c;
repeat string_length(str)
{
c = string_char_at(str, ++i)
if string_digits(c) = ""
&& c != "."
&& c != -
&& c != ,
{str = string_delete(str, i--, 1)}
}
return str