﻿class string System.String  arrayitemtype char
	java String
	python str
	js String
	php string
	rust service NString

property get int Length
	java {!}.length()
	python len({!})
	js {!}.length
	php mb_strlen({!})
	rust {!}.len()

field static string Empty
	java ""
	python ""
	js ""
	php ""
	rust NString::empty()

.ctor()
	java =
	python =
	js =
	rust NString::empty()
.ctor(char[])
	java =
	python =
	js =
	rust NString::from_chars({0})
.ctor(char[], int, int)
	java =
	python =
.ctor(char, int)
	java Utils.createString({0}, {1})
	js {0}.repeat({1})

indexer get char [int]
	java {!}.charAt({0})
	python {!}[{0}]
	js {!}[{0}]
	php mb_substr({!}, {0}, 1)
	rust {!}.get({0})

method IEnumerator<Character> GetEnumerator()
	java =toCharArray

method static bool IsNullOrEmpty(string)
	java Utils.isNullOrEmpty({0})
	python Utils.isNullOrEmpty({0})
	js Utils.isNullOrEmpty({0})
	php {0} == NULL
	rust {0}.is_empty()

method static bool IsNullOrWhiteSpace(string)
	java Utils.isNullOrWhiteSpace({0})
	python Utils.isNullOrWhiteSpace({0})
	js Utils.isNullOrWhiteSpace({0})

method static int Compare(string, string)
	java Utils.stringsCompare({0}, {1}, false)
	python Utils.compareStrings({0}, {1}, False)
	js Utils.compareStrings({0}, {1}, false)
	php Utils::CompareStrings({0}, {1}, FALSE)
	rust NString::compare_strings({0&}, {1&}, false)
method static int Compare(string, string, ?)
	java Utils.stringsCompare({0}, {1}, {2})
	python Utils.compareStrings({0}, {1}, {2})
	js Utils.compareStrings({0}, {1}, {2})
	php Utils::CompareStrings({0}, {1}, {2})
	rust NString::compare_strings({0&}, {1&}, {2})

method static string Join(string, IEnumerable<string>)
	java =join
	python Utils.joinStrings({0}, {1})
	php Utils::JoinStrings({0}, {1})
	js {1}.join({0})


method int CompareTo(string)
	java =compareTo
	js =localeCompare
	php Utils::CompareStrings({!}, {0}, FALSE)
	rust NString::compare_strings({!&}, {0&}, false)

method bool StartsWith(string)
	java =startsWith
	python =startswith
	js =startsWith
	php Utils::StartsWithString({!}, {0}, FALSE)
	rust {!}.starts_with({0&}, false)
method bool EndsWith(string)
	java =endsWith
	python =endswith
	js =endsWith
	php Utils::EndsWithString({!}, {0}, FALSE)
	rust {!}.ends_with({0&}, false)

method bool StartsWith(string, StringComparison)
	java Utils.startsWithString({!}, {0}, {1})
	python Utils.startsWithString({!}, {0}, {1})
	php Utils::StartsWithString({!}, {0}, {1})
	js Utils.startsWithString({!}, {0}, {1})
	rust {!}.starts_with({0&}, {1})

method bool EndsWith(string, StringComparison)
	java Utils.endsWithString({!}, {0}, {1})
	python Utils.endsWithString({!}, {0}, {1})
	php Utils::EndsWithString({!}, {0}, {1})
	js Utils.endsWithString({!}, {0}, {1})
	rust {!}.ends_with({0&}, {1})

method int IndexOf(char)
	java =indexOf
	python =find
	js =indexOf
	php Utils::IndexOfString({!}, {0})
	rust {!}.index_of_char({0}, 0, false)

method int IndexOf(string)
	java =indexOf
	python =find
	js =indexOf
	php Utils::IndexOfString({!}, {0})
	rust {!}.index_of_string({0&}, 0, false)

method int LastIndexOf(char)
	java =lastIndexOf
	python =rfind
	js =lastIndexOf
	php Utils::LastIndexOfString({!}, {0})
	rust {!}.index_of_char({0}, 0, true)
method int LastIndexOf(string)
	java =lastIndexOf
	python =rfind
	js =lastIndexOf
	php Utils::LastIndexOfString({!}, {0})
	rust {!}.index_of_string({0&}, 0, true)
method int IndexOf(char, int)
	java =indexOf
	python Utils.indexOfList({!}, {0}, {1})
	js =indexOf
	php Utils::IndexOfString({!}, {0}, {1})
	rust {!}.index_of_char({0}, {1}, false)
method int IndexOf(string, int)
	java =indexOf
	python Utils.indexOfList({!}, {0}, {1})
	js =indexOf
	php Utils::IndexOfString({!}, {0}, {1})
	rust {!}.index_of_string({0&}, {1}, false)
method int LastIndexOf(char, int)
	java =lastIndexOf
	python Utils.lastIndexOfList({!}, {0}, {1})
	js =lastIndexOf
	php Utils::LastIndexOfString({!}, {0}, {1})
	rust {!}.index_of_char({0}, {1}, true)
method int LastIndexOf(string, int)
	java =lastIndexOf
	python Utils.lastIndexOfList({!}, {0}, {1})
	js =lastIndexOf
	php Utils::LastIndexOfString({!}, {0}, {1})
	rust {!}.index_of_string({0&}, {1}, true)

method int IndexOfAny(char[], *)
	java Utils.indexOfAny({!}, {0}, {1=0}, {2=0})
	python Utils.indexOfAny({!}, {0}, {1=0}, {2=0})
	js Utils.indexOfAny({!}, {0}, {1=0}, {2=0})

method bool Contains(string)
	java ({!}.indexOf({0}) >= 0)
	python {0} in {!}
	js =includes
	php Utils::IndexOfString({!}, {0}, 0) >= 0
	rust {!}.index_of_string({0&}, 0, false) >= 0

method string Substring(int)
	java =substring
	python {!}[{0}:]
	js =substring
	php mb_substr({!}, {0})
	rust {!}.substring({0}, 0)
method string Substring(int, int)
	java {!}.substring({0}, {0} + {1})
	python {!}[{0}:{0}+{1}]
	js {!}.substring({0}, {0} + {1})
	php mb_substr({!}, {0}, {1})
	rust {!}.substring({0}, {1})

method string Replace(char, char)
	java =replace
	js Utils.replaceString({!}, {0}, {1})
	python =replace
	php str_replace({0}, {1}, {!})
	rust =replace_char
method string Replace(string, string)
	java =replace
	js Utils.replaceString({!}, {0}, {1})
	python =replace
	php str_replace({0}, {1}, {!})
	rust {!}.replace_string({0&}, {1&})

method string Remove(int, int)
	java Utils.removeString({!}, {0=0}, {1=0})


method string ToUpper()
	java =toUpperCase
	python =upper
	js =toUpperCase
	php mb_convert_case({!}, MB_CASE_UPPER)
	rust =to_uppercase
method string ToLower()
	java =toLowerCase
	python =lower
	js =toLowerCase
	php mb_convert_case({!}, MB_CASE_LOWER)
	rust =to_lowercase
method string Trim()
	java =trim
	python =strip
	js =trim
	php trim({!})
	rust =trim
method string TrimStart()
	java Utils.trimStart({!})
	python Utils.trimStartString({!})
	js Utils.trimStartString({!})
	php ltrim({!})
	rust =trim_start
method string TrimEnd()
	java Utils.trimEnd({!})
	python Utils.trimEndString({!})
	js Utils.trimEndString({!})
	php chop({!})
	rust =trim_end
method string Normalize()
	java java.text.Normalizer.normalize({!}, java.text.Normalizer.Form.NFC)
	python unicodedata.normalize('NFC', {!})  import unicodedata
	js =normalize
	php normalizer_normalize({!})
method string Normalize(NormalizationForm)   
	java java.text.Normalizer.normalize({!}, {0})
	python unicodedata.normalize({0}, {!})  import unicodedata
	js =normalize
	php normalizer_normalize({!}, {0})

method char[] ToCharArray()
	java =toCharArray
	python {!}
	js {!}.split('')

method string Format(string, *)
	java .format string
	python .format string
	js .format string
	php .format string
	rust .format string

method string[] Split(string, *)
	java Utils.split({!}, {0}, {1=false})
	python Utils.splitString({!}, {0}, {1=False})
	js Utils.splitString({!}, {0}, {1=false})
	php Utils::SplitString({!}, {0}, {1=FALSE})
method string[] Split(char[], *)
	java Utils.split({!}, new String({0}), {1=false})
	python Utils.splitString({!}, {0}, {1=False})
	js Utils.splitString({!}, {0}, {1=false})
	php Utils::SplitString({!}, {0}, {1=FALSE})
method string[] Split(char)
	java Utils.split({!}, String.valueOf({0}), false)
	python Utils.splitString({!}, {0}, False)
	js Utils.splitString({!}, {0}, false)
	php Utils::SplitString({!}, {0}, FALSE)
	rust {!}.split_char({0}, false)
method string[] Split(char, char)
	java Utils.split({!}, String.valueOf({0}) + String.valueOf({1}), false)
	python Utils.splitString({!}, {0} + {1}, False)
	js Utils.splitString({!}, {0} + {1}, false)
	php Utils::SplitString({!}, {0}.{1}, FALSE)
method string[] Split(char, char, char)
	java Utils.split({!}, String.valueOf({0}) + String.valueOf({1}) + String.valueOf({2}), false)
	python Utils.splitString({!}, {0} + {1} + {2}, False)
	js Utils.splitString({!}, {0} + {1} + {2}, false)
	php Utils::SplitString({!}, {0}.{1}.{2}, FALSE)

