Merge pull request #78529 from Chaosus/string_reverse
Add `String.reverse` method
This commit is contained in:
@ -3635,6 +3635,23 @@ String String::repeat(int p_count) const {
|
||||
return new_string;
|
||||
}
|
||||
|
||||
String String::reverse() const {
|
||||
int len = length();
|
||||
if (len <= 1) {
|
||||
return *this;
|
||||
}
|
||||
String new_string;
|
||||
new_string.resize(len + 1);
|
||||
|
||||
const char32_t *src = ptr();
|
||||
char32_t *dst = new_string.ptrw();
|
||||
for (int i = 0; i < len; i++) {
|
||||
dst[i] = src[len - i - 1];
|
||||
}
|
||||
dst[len] = _null;
|
||||
return new_string;
|
||||
}
|
||||
|
||||
String String::left(int p_len) const {
|
||||
if (p_len < 0) {
|
||||
p_len = length() + p_len;
|
||||
|
||||
@ -305,6 +305,7 @@ public:
|
||||
String replace(const char *p_key, const char *p_with) const;
|
||||
String replacen(const String &p_key, const String &p_with) const;
|
||||
String repeat(int p_count) const;
|
||||
String reverse() const;
|
||||
String insert(int p_at_pos, const String &p_string) const;
|
||||
String erase(int p_pos, int p_chars = 1) const;
|
||||
String pad_decimals(int p_digits) const;
|
||||
|
||||
Reference in New Issue
Block a user