Praat分隔字符串到数组中

来源:互联网 发布:业务数据分析流程图 编辑:程序博客网 时间:2024/03/29 21:52

使用C#分隔字符串的命令非常简单,比如有这样的字符串:

string str="aa  ihnn dtaa know wvii   mmaa kelnsl   wlkne sl sdl wel wlnel"

如果用C#分隔成数组,只需要一句话即可:

string[] sArray=str.split(' ');
如果考虑到这中间的分隔符,并不一定是一个空格,那么可能会产生空的数据出来,这样就需要去除空值,可以用下面的代码:

string[] sArray=str.split(new char[] {' ',','}, StringSplitOptions.RemoveEmptyEntries);

但是Praat没有提供类似的函数,操作起来并不方便,首先需要考虑以空格或者其它字符隔开,而且一次性只能使用一种分隔符。而且最后考虑空值的时候,也需要再循环一次,使用一个新的变量,将非空的值保存起来。

代码如下:

# Praat script:  stringToArrayWithSplitChars.praat# Author: Pengfei Shao <feipengshao@163.com># Company: iflytek# Version:  2014/6/24  11:16:55# Praat Version: 5.3.78# Purpose:将字符串按同样的分隔符,分隔成数组存放## Requires: 字符串,以通常的分隔符分隔# # Version History:# 2014/6/24: Praat script is created.##################################################str$="aa  ihnn dtaa know wvii   mmaa kelnsl   wlkne sl sdl wel wlnel"splitStr$=" "i=1while index(str$,splitStr$)<>0indexOfLeftSpace=index(str$,splitStr$)newArrayStr$[i]=mid$(str$,1,indexOfLeftSpace-1)len=length(str$)str$=right$(str$,len-indexOfLeftSpace)i=i+1endwhilei=i-1newArrayStr$[i]=str$# 去空值j=1for m from 1 to iif newArrayStr$[m]<>""finalArrayList$[j]=newArrayStr$[m]j=j+1endifendfor




0 0
原创粉丝点击