

string-extended
string-extended is a Javascript library that can be used standalone or incorporated into extended
var string = require("string-extended");
Or
var myextended = require("extended")
.register(require("string-extended"));
Installation
npm install string-extended
Or download the source (minified)
Usage
toArray
Converts a string to an array
string.toArray("a|b|c|d", "|") => ["a","b","c","d"]
string.toArray("a", "|") => ["a"]
string.toArray("", "|") => []
pad
Pads a string
//pad at the end
string.pad("STR", 5, " ", true) => "STR "
//pad at the beginning
string.pad("STR", 5, "$") => "$$STR"
truncate
Truncates a string to the specified length.
//from the beginning
string.truncate("abcdefg", 3) => "abc";
//from the end
string.truncate("abcdefg", 3,true) => "efg"
//omit the length
string.truncate("abcdefg") => "abcdefg"
multiply
Returns a string duplicated n times
string.multiply("HELLO", 5) => "HELLOHELLOHELLOHELLOHELLO"
escape
Escapes a string so that it can safely be used in a RegExp.
stringExtended.escape(".$?*|{}()[]\/+^"); "//\.\$\?\*\|\{\}\(\)\[\]\/\+\^"
stringExtended(".$?*|{}()[]\/+^").escape().value(); "//\.\$\?\*\|\{\}\(\)\[\]\/\+\^"
You can also specify an optional array of characters to ignore when escaping.
stringExtended.escape(".$?*|{}()[]\/+^", [".", "?", "{", "["]); //".\$?\*\|{\}\(\)[\]\/\+\^"
stringExtended(".$?*|{}()[]\/+^").escape([".", "?", "{", "["]).value(); //".\$?\*\|{\}\(\)[\]\/\+\^"
trim
Trims white space characters from the beginning and end of a string.
stringExtended.trim(" Hello World "); //"Hello World"
stringExtended(" Hello World ").trim().value(); //"Hello World"
trimLeft
Trims white space characters from the beginning of a string.
stringExtended.trimLeft(" Hello World "); //"Hello World "
stringExtended(" Hello World ").trimLeft().value(); //"Hello World "
trimRight
Trims white space characters from the end of a string.
stringExtended.trimLeft(" Hello World "); //" Hello World"
stringExtended(" Hello World ").trimLeft().value(); //" Hello World"
format
Formats a string with the specified format.
-
String Formats %[options]s
-
- Char : padding character Excludes d,j,s
- Number : width
-
Number Formats %[options]d
-
-
- Char : padding character Excludes d,j,s
- Number : width
-
Object Formats %[options]j
- Number : spacing for object properties.
var format = string.format;
format("%s, %s", ["Hello", "World"]) => "Hello, World";
format("%[ 10]s, %[- 10]s", ["Hello", "World"]); //" Hello, World ";
format("%-!10s, %#10s, %10s and %-10s", "apple", "orange", "bananas", "watermelons")
//"apple!!!!!, ####orange, bananas and watermelon"
format("%+d, %+d, %10d, %-10d, %-+#10d, %10d", 1,-2, 1, 2, 3, 100000000000)
//"+1, -2, 0000000001, 2000000000, +3########, 1000000000"
format("%[h:mm a]D", [date]) => 7:32 PM - local -
format("%[h:mm a]Z", [date]) => 12:32 PM - UTC
//When using object formats they must be in an array otherwise
//format will try to interpolate the properties into the string.
format("%j", [{a : "b"}]); //'{"a":"b"}'
format("%1j, %4j", [{a : "b"}, {a : "b"}]); //'{\n "a": "b"\n},\n{\n "a": "b"\n}'
format("{hello}, {world}", {hello : "Hello", world : "World"); //"Hello, World";
format({[-s10]apple}, {[%#10]orange}, {[10]banana} and {[-10]watermelons}",{
apple : "apple",
orange : "orange",
banana : "bananas",
watermelons : "watermelons"
}); //"applesssss, ####orange, bananas and watermelon"
style
Styles a string according to the specified styles.
- bold
- bright
- italic
- underline
- inverse
- crossedOut
- blink
- red
- green
- yellow
- blue
- magenta
- cyan
- white
- redBackground
- greenBackground
- yellowBackground
- blueBackground
- magentaBackground
- cyanBackground
- whiteBackground
- grey
- black
//style a string red
string.style('myStr', 'red');
//style a string red and bold
string.style('myStr', ['red', bold]);
characters
SMILEY : ☺
SOLID_SMILEY : ☻
HEART : ♥
DIAMOND : ♦
CLOVE : ♣
SPADE : ♠
DOT : •
SQUARE_CIRCLE : ◘
CIRCLE : ○
FILLED_SQUARE_CIRCLE : ◙
MALE : ♂
FEMALE : ♀
EIGHT_NOTE : ♪
DOUBLE_EIGHTH_NOTE : ♫
SUN : ☼
PLAY : ►
REWIND : ◄
UP_DOWN : ↕
PILCROW : ¶
SECTION : §
THICK_MINUS : ▬
SMALL_UP_DOWN : ↨
UP_ARROW : ↑
DOWN_ARROW : ↓
RIGHT_ARROW : →
LEFT_ARROW : ←
RIGHT_ANGLE : ∟
LEFT_RIGHT_ARROW : ↔
TRIANGLE : ▲
DOWN_TRIANGLE : ▼
HOUSE : ⌂
C_CEDILLA : Ç
U_UMLAUT : ü
E_ACCENT : é
A_LOWER_CIRCUMFLEX : â
A_LOWER_UMLAUT : ä
A_LOWER_GRAVE_ACCENT : à
A_LOWER_CIRCLE_OVER : å
C_LOWER_CIRCUMFLEX : ç
E_LOWER_CIRCUMFLEX : ê
E_LOWER_UMLAUT : ë
E_LOWER_GRAVE_ACCENT : è
I_LOWER_UMLAUT : ï
I_LOWER_CIRCUMFLEX : î
I_LOWER_GRAVE_ACCENT : ì
A_UPPER_UMLAUT : Ä
A_UPPER_CIRCLE : Å
E_UPPER_ACCENT : É
A_E_LOWER : æ
A_E_UPPER : Æ
O_LOWER_CIRCUMFLEX : ô
O_LOWER_UMLAUT : ö
O_LOWER_GRAVE_ACCENT : ò
U_LOWER_CIRCUMFLEX : û
U_LOWER_GRAVE_ACCENT : ù
Y_LOWER_UMLAUT : ÿ
O_UPPER_UMLAUT : Ö
U_UPPER_UMLAUT : Ü
CENTS : ¢
POUND : £
YEN : ¥
CURRENCY : ¤
PTS : ₧
FUNCTION : ƒ
A_LOWER_ACCENT : á
I_LOWER_ACCENT : í
O_LOWER_ACCENT : ó
U_LOWER_ACCENT : ú
N_LOWER_TILDE : ñ
N_UPPER_TILDE : Ñ
A_SUPER : ª
O_SUPER : º
UPSIDEDOWN_QUESTION : ¿
SIDEWAYS_L : ⌐
NEGATION : ¬
ONE_HALF : ½
ONE_FOURTH : ¼
UPSIDEDOWN_EXCLAMATION : ¡
DOUBLE_LEFT : «
DOUBLE_RIGHT : »
LIGHT_SHADED_BOX : ░
MEDIUM_SHADED_BOX : ▒
DARK_SHADED_BOX : ▓
VERTICAL_LINE : │
MAZE__SINGLE_RIGHT_T : ┤
MAZE_SINGLE_RIGHT_TOP : ┐
MAZE_SINGLE_RIGHT_BOTTOM_SMALL : ┘
MAZE_SINGLE_LEFT_TOP_SMALL : ┌
MAZE_SINGLE_LEFT_BOTTOM_SMALL : └
MAZE_SINGLE_LEFT_T : ├
MAZE_SINGLE_BOTTOM_T : ┴
MAZE_SINGLE_TOP_T : ┬
MAZE_SINGLE_CENTER : ┼
MAZE_SINGLE_HORIZONTAL_LINE : ─
MAZE_SINGLE_RIGHT_DOUBLECENTER_T : ╡
MAZE_SINGLE_RIGHT_DOUBLE_BL : ╛
MAZE_SINGLE_RIGHT_DOUBLE_T : ╢
MAZE_SINGLE_RIGHT_DOUBLEBOTTOM_TOP : ╖
MAZE_SINGLE_RIGHT_DOUBLELEFT_TOP : ╕
MAZE_SINGLE_LEFT_DOUBLE_T : ╞
MAZE_SINGLE_BOTTOM_DOUBLE_T : ╧
MAZE_SINGLE_TOP_DOUBLE_T : ╤
MAZE_SINGLE_TOP_DOUBLECENTER_T : ╥
MAZE_SINGLE_BOTTOM_DOUBLECENTER_T : ╨
MAZE_SINGLE_LEFT_DOUBLERIGHT_BOTTOM : ╘
MAZE_SINGLE_LEFT_DOUBLERIGHT_TOP : ╒
MAZE_SINGLE_LEFT_DOUBLEBOTTOM_TOP : ╓
MAZE_SINGLE_LEFT_DOUBLETOP_BOTTOM : ╙
MAZE_SINGLE_LEFT_TOP : Γ
MAZE_SINGLE_RIGHT_BOTTOM : ╜
MAZE_SINGLE_LEFT_CENTER : ╟
MAZE_SINGLE_DOUBLECENTER_CENTER : ╫
MAZE_SINGLE_DOUBLECROSS_CENTER : ╪
MAZE_DOUBLE_LEFT_CENTER : ╣
MAZE_DOUBLE_VERTICAL : ║
MAZE_DOUBLE_RIGHT_TOP : ╗
MAZE_DOUBLE_RIGHT_BOTTOM : ╝
MAZE_DOUBLE_LEFT_BOTTOM : ╚
MAZE_DOUBLE_LEFT_TOP : ╔
MAZE_DOUBLE_BOTTOM_T : ╩
MAZE_DOUBLE_TOP_T : ╦
MAZE_DOUBLE_LEFT_T : ╠
MAZE_DOUBLE_HORIZONTAL : ═
MAZE_DOUBLE_CROSS : ╬
SOLID_RECTANGLE : █
THICK_LEFT_VERTICAL : ▌
THICK_RIGHT_VERTICAL : ▐
SOLID_SMALL_RECTANGLE_BOTTOM : ▄
SOLID_SMALL_RECTANGLE_TOP : ▀
PHI_UPPER : Φ
INFINITY : ∞
INTERSECTION : ∩
DEFINITION : ≡
PLUS_MINUS : ±
GT_EQ : ≥
LT_EQ : ≤
THEREFORE : ⌠
SINCE : ∵
DOESNOT_EXIST : ∄
EXISTS : ∃
FOR_ALL : ∀
EXCLUSIVE_OR : ⊕
BECAUSE : ⌡
DIVIDE : ÷
APPROX : ≈
DEGREE : °
BOLD_DOT : ∙
DOT_SMALL : ·
CHECK : √
ITALIC_X : ✗
SUPER_N : ⁿ
SQUARED : ²
CUBED : ³
SOLID_BOX : ■
PERMILE : ‰
REGISTERED_TM : ®
COPYRIGHT : ©
TRADEMARK : ™
BETA : β
GAMMA : γ
ZETA : ζ
ETA : η
IOTA : ι
KAPPA : κ
LAMBDA : λ
NU : ν
XI : ξ
OMICRON : ο
RHO : ρ
UPSILON : υ
CHI_LOWER : φ
CHI_UPPER : χ
PSI : ψ
ALPHA : α
ESZETT : ß
PI : π
SIGMA_UPPER : Σ
SIGMA_LOWER : σ
MU : µ
TAU : τ
THETA : Θ
OMEGA : Ω
DELTA : δ
PHI_LOWER : φ
EPSILON : "ε"