### Godot version

4.0 beta17

### System information

Windows10

### Issue description

call `"".split()`
Is there an infinite loop inside? Function does not return.

### Steps to reproduce

"".split()

### Minimal reproduction project

N/A
Vector<String> ret;
	int from = 0;
	int i = 0;
	int len = length();
	if (len == 0) {
		return ret;
	}
	bool inside = false;
	while (true) {
		bool empty = operator[](i) < 33;
		if (i == 0) {
			inside = !empty;
		}
		if (!empty && !inside) {
			inside = true;
			from = i;
		}
		if (empty && inside) {
			ret.push_back(substr(from, i - from));
			inside = false;
		}
		if (i == len) {
			break;
		}
		i++;
	}
	return ret;
}
Vector<String> String::split(const String &p_splitter, bool p_allow_empty, int p_maxsplit) const {