String Operations
(1) Replace a substring with functions strReplace and regexReplace. With regexReplace
, we can
search a regular expression pattern, and we can also specify a starting position to
search.
strReplace("this computer is faster than that computer", "computer", "desktop");
// output
this desktop is faster than that desktop
regexReplace("this computer is faster than that computer", "computer", "desktop", 8);
// output
this computer is faster than that desktop
regexReplace("this computer is faster than that computer", "\\b(comp)([^ ]*)", "desktop");
// output
this desktop is faster than that desktop
(2) Generate a substring starting with the left or the right with functions left or right respectively. Use function substr or substruto get a substring with specified starting position and length.
left("Hello World", 5);
// output
Hello
right("Hello World", 5);
// output
World
substr("This is a test", 5, 2);
// output
is
(3) Functions ltrim or rtrim removes the spaces on the left or right end of the string; function trim removes the spaces on both ends of the string; function strip removes all space, tab, new line, and carriage characters on both ends of a string.
ltrim(" Hello World ");
// output
Hello World
rtrim("Hello World ")+"!";
// output
Hello World!
trim(" Hello World ")+"!";
// output
Hello World!
strip(" \t Hello World ");
// output
Hello World
(4) Pad specified characters to the left or the right side of a string with functions lpad and rpad respectively.
lpad("Hello",7);
// output
Hello
lpad("Hello",7,"0");
// output
00Hello
rpad("Hello",7,"0");
// output
Hello00
(5) Repeat a string multiple times with function repeat .
repeat("ABC",3);
// output
ABCABCABC
repeat(`ABC`DE,3);
// output
["ABCABCABC","DEDEDE"]
(6) Convert strings to either lower case or upper case with functions lower or upper respectively.
lower `Chloe;
// output
chloe
upper 'Christmas';
// output
CHRISTMAS
(7) Use function concat to combine 2 strings into one string.
concat (`hello, `world);
// output
helloworld
To combine multiple strings, we can use the operator "+".
var1="Hello"
var2='World'
var1+", "+var2+"!";
// output
Hello, World!
(8) Use function split to split a string into multiple strings with the specified delimiter.
split("xyz 1 ABCD 3241.32"," ");
// output
["xyz","1","ABCD","3241.32"]
split("XOM|2018.02.15|76.21", "|");
// output
["XOM","2018.02.15","76.21"]
(9) To calculate the length of a string, use function strlen .
strlen("Hello World!");
// output
12
strlen(`XOM`MSFT`F`GM);
// output
[3,4,1,2]
To count the number of words in a string, use function wc :
wc(`apple);
// output
1
wc("This is a 7th generation iphone!");
// output
6
wc("This is a 7th generation iphone!" "I wonder what the 8th generation looks like");
// output
[6,8]
Use function regexCount to count how many times a string or a regular expression pattern occurs in a string.
regexCount("FB IBM FB IBM AMZN IBM", `IBM);
// output
3
regexCount("FB IBM FB IBM AMZN IBM", `IBM, 7);
// output
2
regexCount("this subject has a submarine as subsequence", "\\b(sub)([^ ]*)");
// output
3
(10) Use functions startsWith and endsWith to test if a string starts or ends with another string.
startsWith('ABCDEF!', "ABC");
// output
1
startsWith('ABCDEF!', "ABD");
// output
0
endsWith('ABCDEF!', "F!");
// output
1
endsWith('ABCDEF!', "E!");
// output
0
(11) Function convertEncode changes the encoding of strings. Function fromUTF8 changes the encoding of strings from UTF-8. Function toUTF8 changes the encoding of strings to UTF-8.
convertEncode(["hello","DolphinDB"],"gbk","utf-8");
// output
["hello","DolphinDB"]
fromUTF8(["hello","DolphinDB"],"gbk");
// output
["hello","DolphinDB"]
toUTF8(["hello","DolphinDB"],"gbk");
// output
["hello","DolphinDB"]
(12) Function charAt returns the characters at specified positions in a string.
s=charAt("abc",2);
s;
// output
'c'
typestr(s);
// output
CHAR
charAt(["hello","world"],[3,4]);
// output
['l','d']
(13) Function isAlpha determines whether all characters in a string are alphabets. Function isUpper determines whether all the case-based characters (letters) of a string are uppercase. Function isLower determines whether all the case-based characters (letters) of the string are lowercase. Function isTitle determines whether a string is a titlecased string, which has the first character in each word uppercase and the remaining all characters lowercase alphabets.
isAlpha(["hello","hello world","1And1",string()]);
// output
[true,false,false,false]
isUpper("123456ABC");
// output
true
isLower("123456abc");
// output
true
isTitle("Hello World");
// output
true
(14) Function isNumeric andisDigit determines if all characters in a string are numbers. Function isAlNum determines whether all characters in a string are alphanumeric (either alphabets or numbers).
isNumeric("123456");
// output
true
isDigit("1And1");
// output
false
isDecimal("10.05");
// output
false
isAlNum("123456abc");
// output
true
(15) Function isSpace determines whether a string consists of only space.
isSpace(" \t ");
// output
true