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