本章主要展示有关字符串的代码参考,比如产生定长字符串、查找和替换子串、取出字符串的部分、字符串的拼接、大小写识别和转换、去除字符串双边多余的空白、匹配模式串、匹配带有*的模式串、取得字符编码和用编码返回字符、将字符串拆成序列、将序列拼成字符串、从字符串删除不需要的字符、判断字符串是否是字母或数字构成、计算存储在字符串中的表达式、计算字符串表达式时使用参数、可随着编辑过程变迁的表达式字符串、判定是否是字符串类型、字符串MD5签名、生成指定长度的随机字串、正则表达式匹配字符串、解析字符串为本身类型等。
|
A |
|
1 |
=fill(" ",10) |
" " |
2 |
=len(A1) |
10 |
3 |
=fill("ab",10) |
abababababababababab |
|
A |
|
1 |
=pos("abcdef","def") |
"def" 在"abcdef"中的位置 |
2 |
=pos("abcdefdef","def",5) |
从第5个开始找 |
3 |
=replace("abca","a","ABC") |
用"ABC"替换"abca"中的a |
4 |
=replace("abc'abc'","a","ABC") |
引号内也替换 |
5 |
=replace@q("abc'abc'","a","ABC") |
引号内不替换 |
|
A |
|
1 |
=mid("abcde",2,1) |
取出第2个字符 |
2 |
=mid("abcde",3,2) |
从第3个位置起取2个字符 |
3 |
=mid("abcde",2) |
从第2 位置起取到结束 |
4 |
=left("abcdefg",3) |
左边3个字符 |
5 |
=right("abcde",2) |
右边2个字符 |
|
A |
|
1 |
="ab"+"cd" |
abcd |
2 |
="ab"/"cd" |
abcd |
3 |
="3"+2 |
5,串数混合时按数计算 |
4 |
="ab"+1 |
1,不能转成数的串作为0 |
|
A |
|
1 |
=upper("abcdef") |
"ABCDEF" |
2 |
=upper("ABCdef") |
"ABCDEF" |
3 |
=lower("abcDEF") |
"abcdef" |
4 |
=isupper("ABC") |
true |
5 |
=islower("ABC") |
false |
6 |
=islower("aBc") |
false |
7 |
=isupper("Bc") |
false |
|
A |
|
1 |
=trim(" abc ") |
去除两边空白 |
2 |
=trim@l(" abc ") |
去除左边空白 |
3 |
=trim@r(" abc ") |
去除右边空白 |
|
A |
|
1 |
=like("abc123","abc1?3") |
"?"匹配单个字符 |
2 |
=like("abcefg","abc*") |
"*"匹配0个或多个字符 |
|
A |
|
1 |
=like("ab*123", "ab\*1?3") |
用转义符\将匹配字符*本身 |
2 |
=like("a*bcefg","a\*bc*") |
true |
|
A |
|
1 |
=asc("a") |
字符“a”的编码 |
2 |
=char(68) |
编码为“68”的字符 |
3 |
=asc("USA") |
字符”U”的编码 |
|
A |
|
1 |
="12345678" |
|
2 |
=len(A1) |
|
3 |
=A1.split() |
拆分成字符序列 |
4 |
="a,[b,c],d" |
|
5 |
=A4.split@cp() |
返回由a、[b,c]、d三个成员组成的序列,其中成员[b,c]解释为序列 |
6 |
=A4.split@c() |
返回由a、[b,c]、 d三个成员组成的序列,其中成员[b,c]解释为字符串而不是序列 |
7 |
=A4.split@cb() |
返回由a、[b、c]、d四个成员组成的序列,不考虑括号/引号匹配 |
8 |
="a;[b;c];d".split@p(";") |
用”;”拆分 |
9 |
="a b c" |
|
10 |
=A1.split@t() |
返回由a、b、c组成的序列,拆分后做一下两边trim |
11 |
="a1b2c".split@r("(\\d)") |
返回由a、b、c组成的序列,分隔符是正则表达式 |
|
A |
|
1 |
=[1,"abc,def",[2,4],"{7,8}"] |
|
2 |
=A1.concat@cq() |
用逗号作为分隔符拼接字串,串将被加上引号 |
3 |
=A1.concat() |
串拼入时不加引号,不用分隔符 |
4 |
=A1.concat("&") |
用”&”作为分隔符 |
|
A |
|
1 |
abcda123efag |
|
2 |
=replace(A1,"123","") |
删除123 |
3 |
=replace(A1,"a","") |
删除 "a" |
|
A |
|
1 |
2345$#dfAgsdf23* |
|
2 |
=len(A1) |
16 |
3 |
=A1.split() |
分割成字符序列 |
4 |
=A3.count(!isdigit(~) && !isalpha(~))==0 |
是否字母数字串 |
|
A |
|
1 |
=eval("1+5") |
计算1 + 5 |
2 |
=eval($[A1+2]) |
计算A1 + 2 |
|
A |
|
1 |
=eval("?+5",3) |
相当于计算"3 + 5" |
2 |
=eval("(?1+1)/?2",3,4) |
相当于计算"(3 + 1)/4" |
|
A |
|
1 |
=$[B1+4] |
用 $[]方式写字符串将在编辑过程中变迁 |
|
A |
|
1 |
=ifstring("abc") |
true |
|
A |
|
1 |
=md5("abced") |
EBB080AFAAC3A990AD3F1D0F21742FAC |
|
A |
|
1 |
=rands("abc",5) |
baaca |
|
A |
|
1 |
4,233,a,test |
|
2 |
=A1.regex("(\\d),([0-9]*),([a-z]),([a-z]*)") |
返回4、233、a、test序列 |
3 |
4,233,A,tEst |
|
4 |
=A3.regex@c("(\\d),([0-9]*),([a-z]),([a-z]*)") |
返回4、233、A、tEst序列,不区分大小写 |
5 |
小明,中国 |
|
6 |
=A5.regex@u("(\\u5c0f\\u660e),(\\u4e2d\\u56fd)") |
返回 小明、中国 序列,匹配汉字 |
|
A |
|
1 |
=substr("abcdef","cd") |
ef,返回子串后的字符串 |
2 |
=substr@l("abcdef","cd") |
ab,返回子串前的字符串 |
3 |
=substr@q("ab\'cdef\'","cd") |
null,引号里的串不参与查找 |
|
A |
|
1 |
4℃,23,a,test?my_file 57b |
|
2 |
=A1.words() |
a、test、my、file、b,拆出字符串中的英语单词 |
3 |
=A1.words@d() |
4、23、57,拆出字符串中的数字 |
4 |
=A1.words@a() |
4、23、a、test、my、file、b、57,拆出字符串中的单词和数字 |
5 |
=A1.words@i() |
a、test、my、file、b57,将连续的英文和数字看成一个单词 |
6 |
=A1.words@w() |
4、℃、,、23、,、a、,、test、?、my、_、file、 、b、57,拆出所有字符 |
|
A |
|
1 |
="10:20:30" |
|
2 |
=parse(A1) |
10:20:30,时间类型 |
3 |
="10℃" |
|
4 |
=parse@n(A3) |
10,数字开头只解析数字 |