Praat脚本编程中文教程:常用的字符串函数

分类:Praat
 标签:Praat脚本.Praat中文教程,Praat编程
   修改 | 阅读(1788)| 评论(0)

我们在编写脚本的过程中,不仅仅是要对数据进行处理,有时候也要对文字、单词等进行相应的处理。在Praat中封装了很多常用的字符串处理函数,以方便我们要脚本中进行调用,这一节我们就来看看这些函数都有哪些。

length (a$)  ;求字符串a$的长度,所谓长度就是指有多少个字符。返回值为数值。

例:length("abc")=3

left$ (a$, n)  ;截取字符串a$左边的n个字符。返回值为字符串。

例:left$("abcdef",3)="abc"

right$ (a$, n)  ;截取字符串a$右边的n个字符。返回值为字符串。

例:right$("abcdef",3)="def"

mid$ (a$ , n, m)  ;截取字符串a$中从第n个字符开始的m个字符。返回值为字符串。

例:mid$("abcdef",2,3)="bcd"

index (a$, b$)  ;求第二个字符串b$在第一个字符串a$中首次出现的位置。若在a$中没有b$对应的字符串则返回0。返回值为数值。

例:index("abcdef","cd")=3,index("abcdef","d")=4,index("abcdef","ok")=0

rindex (a$, b$)  ;求第二个字符串b$在第一个字符串a$中最后一次出现的位置。若在a$中没有b$对应的字符串则返回0。返回值为数值。

例:rindex ("abcdefab", "a")=7

startsWith (a$, b$)  ;确定字符串a$是否以字符串b$开头,是则返回1,否则返回0。

例:startsWith ("abc", "ab")=1,startsWith ("abc", "b")=0

endsWith (a$, b$)  ;确定字符串a$是否以字符串b$结尾,是则返回1,否则返回0。

例:endsWith ("abc", "c")=1,endsWith ("abc", "b")=0

replace$ (a$, b$, c$, n)  ;替换字符串a$中的字符串b$为字符串c$,总共替换n次,n为0则全部替换。返回替换后的字符串。

例:replace$ ("Hello", "l", "k", 0)="Hekko",

replace$ ("Hello", "l", "k", 1)="Heklo"

string$ (number)  ;将数值number转换为字符串。

例:string$(55)="55",string$ (5e6)="5000000",string$(55%)="0.55"

fixed$ (number, precision)  ;将数值number保留precision位小数后转换为字符串输出,会自动进行四舍五入。如果提出取来的为0,会自动往后查找到第一个不为0的数为止。

例:fixed$(1.23456,3)=1.235,fixed$(0.000012,3)=0.00001

percent$ (number, precision)  ;和fixed$相似。将数值number转换为百分数,保留precision位小数后输出。

例:percent$ (0.55678, 2)="55.68%"

number (a$)  ;将字符串转换为数值输出。

例:number ("5e3")=5000

date$ ()  ;输出计算机当前的时间。

格式:Thu May 07 11:28:44 2015 (英文星期 英文月份 日 时:分:秒 年)

extractNumber(a$,b$)  ;在字符串a$中提取字符串b$后的数字。

例:extractNumber("12abc23c45","c")=23,extractNumber("12abc23c45","")=12

extractWord$(a$,b$)  ;在字符串a$中提取出字符串b$第一次出现的后续字符。

例:extractWord$("ababc","b")="abc"


更多字符串函数可以参考官方文档:

http://www.fon.hum.uva.nl/praat/manual/Formulas_5__String_functions.html


原创作品,未经授权不可进行转载。

如您觉得本文对您有帮助,可以赞助博主一杯奶茶吗

    


您的昵称:*
QQ登录(无需注册直接登录可进行回复)
您的邮箱:(填写邮箱,如有回复可进行邮件通知)
验证码:
点击刷新