GMLscripts.com

Discuss and collaborate on GML scripts
Invert

You are not logged in.

#1 2015-12-22 20:24:42

AnastasiaDunbar
Member
Registered: 2015-12-22
Posts: 12

string_replace_all_insensitive()

Basically case-insensitive replacement.

Expand///string_replace_all_insensitive(str,substr,newstr)
//Variable str should we use.
//Variable in is for case insensitive.
var str = argument0, substr = string_lower(argument1), newstr = argument2;
var a = 0, out = "", lowstr = string_lower(str);
for (var i = 0; i < string_length(str); i++) { //For each character in string.
    if (string_char_at(lowstr,a+1) = string_char_at(substr,1)) { //If the character is same as substring.
        var b = 0;
        for (var j = 0; j < string_length(substr); j++) {
            if (string_char_at(lowstr,a+j+1) = string_char_at(substr,j+1)) {
                b++ //Add to b.
            }
        }
        if b = string_length(substr) {
            out += newstr //Add new string.
            a += string_length(substr)-1
        } else {
            out += string_char_at(str,a+1) //Add original character.
        }
    } else {
        out += string_char_at(str,a+1) //Add original character.
    }
    a++
}
return out;

string_replace_all_insensitive("Hello world. Toma Tomat tomato TOMATO-TomatoTomato Tomato tOmATo","tomato","banana")
becomes "Hello world. Toma Tomat banana banana-bananabanana banana banana"

Offline

Board footer

Powered by FluxBB