1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-14 13:41:12 +00:00

Add contains_char() for single-character 'contains' calls.

This commit is contained in:
Lukas Tenbrink
2024-12-05 17:56:08 +01:00
parent eb5103093c
commit b5c31ebb41
61 changed files with 108 additions and 99 deletions

View File

@@ -3314,6 +3314,10 @@ int String::find(const String &p_str, int p_from) const {
return -1; // won't find anything!
}
if (src_len == 1) {
return find_char(p_str[0], p_from); // Optimize with single-char find.
}
const char32_t *src = get_data();
const char32_t *str = p_str.get_data();
@@ -3354,6 +3358,10 @@ int String::find(const char *p_str, int p_from) const {
return -1; // won't find anything!
}
if (src_len == 1) {
return find_char(*p_str, p_from); // Optimize with single-char find.
}
const char32_t *src = get_data();
if (src_len == 1) {
@@ -4081,7 +4089,7 @@ String String::format(const Variant &values, const String &placeholder) const {
Variant v_val = values_arr[i];
String val = v_val;
if (placeholder.contains("_")) {
if (placeholder.contains_char('_')) {
new_string = new_string.replace(placeholder.replace("_", i_as_str), val);
} else {
new_string = new_string.replace_first(placeholder, val);