字符串操作

(1) strReplace 函数和 regexReplace 函数都能够替换字符串中的一部分。两者的区别在于,regexReplace 函数可以用正则表达式表示替换内容,并且能够指定开始搜索的位置。

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) left 函数和 right 函数能够分别截取左边和右边指定长度的字符串。substrsubstru 函数能够指定开始截取的位置和长度。

left("Hello World", 5);
// output
Hello

right("Hello World", 5);
// output
World

substr("This is a test", 5, 2);
// output
is

(3) ltrim 函数和 rtrim 函数能够分别去除字符串左边和右边的空格,trim 函数能够去除字符串首尾的空格。strip 函数不仅能够去除字符串首尾的空格,还能去除字符串首位的制表符、换行符和回车符。

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) lpad 函数和 rpad 函数能够分别在字符串左侧和右侧填充指定字符串。

lpad("Hello",7);
// output
Hello

lpad("Hello",7,"0");
// output
00Hello

rpad("Hello",7,"0");
// output
Hello00

(5) repeat 函数能够返回字符串重复多次后的结果。

repeat("ABC",3);
// output
ABCABCABC

repeat(`ABC`DE,3);
// output
["ABCABCABC","DEDEDE"]

(6) lower 函数能够把字符串中的字母转换成小写形式,upper 函数能够把字符串中的字母转换成大写形式。

lower `Chloe;
// output
chloe

upper 'Christmas';
// output
CHRISTMAS

(7) concat 函数可以连接两个字符串。

concat (`hello, `world);
// output
helloworld

我们也可以使用运算符(+)来连接多个字符串。

var1="Hello"
var2='World'
var1+", "+var2+"!";
// output
Hello, World!

(8) split 函数可以分割字符串。

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) strlen 函数能够计算字符串的长度。

strlen("Hello World!");
// output
12

strlen(`XOM`MSFT`F`GM);
// output
[3,4,1,2]

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]

regexCount 函数能够计算一个子字符串在字符串中出现的次数。子字符串可以用正则表达式表示。

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) startsWith 函数和 endsWith 函数能够检查字符串是否以某个字符串开头和结尾。

startsWith('ABCDEF!', "ABC");
// output
1

startsWith('ABCDEF!', "ABD");
// output
0

endsWith('ABCDEF!', "F!");
// output
1

endsWith('ABCDEF!', "E!");
// output
0

(11) convertEncode 函数能够转换字符串编码,fromUTF8 函数能够将UTF-8编码的字符串转换成其他编码,toUTF8 函数能够将其他编码的字符串转换成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) charAt 函数可以获取字符串中指定位置的字符。

s=charAt("abc",2);
s;
// output
'c'

typestr(s);
// output
CHAR

charAt(["hello","world"],[3,4]);
// output
['l','d']

(13) isAlpha 函数可以判断字符串是否全为字母,isUpper 函数可以判断字符串中的字母是否全为大写,isLower 函数可以判断字符串中的字母是否全为小写,isTitle 函数可以判断字符串中每个单词是否为首字母大写,其他字母小写。

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) isNumeric, isDigit 可以判断字符串是否全部为数字,isAlNum 函数可以判断字符串是否全部为字母或数字。

isNumeric("123456");
// output
true

isDigit("1And1");
// output
false

isAlNum("123456abc");
// output
true

(15) isSpace 可以判断字符串是否由空格类字符(包括空格、回车符、换行符、跳格符)组成。

isSpace(" \t ");
// output
true