This class provides advanced methods on Strings. It is ideally used with
using StringTools
and then acts as an extension
to the String
class.
If the first argument to any of the methods is null, the result is unspecified.
Static variables
staticwinMetaCharacters:Array<Int> = [" ".code, "(".code, ")".code, "%".code, "!".code, "^".code, "\"".code, "<".code, ">".code, "&".code, "|".code, "\n".code, "\r".code, ",".code, ";".code]
Available on Neko, macOS, Linux, Windows
Character codes of the characters that will be escaped by quoteWinArg(_, true)
.
Static methods
staticendsWith (s:String, end:String):Bool
Tells if the string s
ends with the string end
.
If end
is null
, the result is unspecified.
If end
is the empty String ""
, the result is true.
statichex (n:Int, ?digits:Int):String
Encodes n
into a hexadecimal representation.
If digits
is specified, the resulting String is padded with "0" until
its length
equals digits
.
statichtmlEscape (s:String, ?quotes:Bool):String
Available on Neko, macOS, Linux, HTML5, Windows
Escapes HTML special characters of the string s
.
The following replacements are made:
&
becomes&
;<
becomes<
;>
becomes>
;
If quotes
is true, the following characters are also replaced:
"
becomes"
;'
becomes'
;
staticisSpace (s:String, pos:Int):Bool
Available on Neko, macOS, Linux, HTML5, Windows
Tells if the character in the string s
at position pos
is a space.
A character is considered to be a space character if its character code is 9,10,11,12,13 or 32.
If s
is the empty String ""
, or if pos is not a valid position within
s
, the result is false.
staticlpad (s:String, c:String, l:Int):String
Available on Neko, Android, iOS, macOS, Linux, Windows
Concatenates c
to s
until s.length
is at least l
.
If c
is the empty String ""
or if l
does not exceed s.length
,
s
is returned unchanged.
If c.length
is 1, the resulting String length is exactly l
.
Otherwise the length may exceed l
.
If c
is null, the result is unspecified.
Available on Neko, macOS, Linux, HTML5, Windows
Removes leading space characters of s
.
This function internally calls isSpace()
to decide which characters to
remove.
If s
is the empty String ""
or consists only of space characters, the
result is the empty String ""
.
staticquoteUnixArg (argument:String):String
Available on Neko, macOS, Linux, Windows
Returns a String that can be used as a single command line argument on Unix. The input will be quoted, or escaped if necessary.
staticquoteWinArg (argument:String, escapeMetaCharacters:Bool):String
Available on Neko, macOS, Linux, Windows
Returns a String that can be used as a single command line argument on Windows. The input will be quoted, or escaped if necessary, such that the output will be parsed as a single argument using the rule specified in http://msdn.microsoft.com/en-us/library/ms880421
Examples:
quoteWinArg("abc") == "abc";
quoteWinArg("ab c") == '"ab c"';
staticreplace (s:String, sub:String, by:String):String
Replace all occurrences of the String sub
in the String s
by the
String by
.
If sub
is the empty String ""
, by
is inserted after each character
of s
. If by
is also the empty String ""
, s
remains unchanged.
This is a convenience function for s.split(sub).join(by)
.
If sub
or by
are null, the result is unspecified.
Available on Neko, macOS, Linux, HTML5, Windows
Removes trailing space characters of s
.
This function internally calls isSpace()
to decide which characters to
remove.
If s
is the empty String ""
or consists only of space characters, the
result is the empty String ""
.
staticstartsWith (s:String, start:String):Bool
Tells if the string s
starts with the string start
.
If start
is null
, the result is unspecified.
If start
is the empty String ""
, the result is true.
Available on Neko, macOS, Linux, HTML5, Windows
Removes leading and trailing space characters of s
.
This is a convenience function for ltrim(rtrim(s))
.