5.3.3字符串分割和连接

 
:str= substr (s,抵消)
:substr (s,抵消,len)

返回的子字符串s从字符号开始抵消并且是len字符长。

偏移的位置编号以1开头。如果抵消为负,提取从字符串末尾开始。

如果len被省略,子字符串延伸到的末尾s的负值len提取到内部len字符串末尾的字符

示例:

substr(“这是一个测试字符串”,6,9)⇒ “is a test”子字符串(“This is a test string”,-11)⇒ “测试字符串”子字符串(“这是一个测试字符串”,-11,-7)⇒ 测验

此函数是以Perl中的等效函数命名的。

 
:[tok,雷姆] = strtok (str)
:[tok,雷姆] = strtok (str,熟食店)

查找字符串中的所有字符str最多(但不包括)字符串中的第一个字符熟食店.

str也可以是字符串的元胞数组,在这种情况下,函数对每个单独的字符串执行,并返回令牌和维护器的元胞数组。

忽略前导分隔符。如果熟食店未指定,则假定为空白。

如果雷姆是指定的,它包含字符串的剩余部分,从第一个分隔符开始。

示例:

strtok(“这就是生活”)⇒ “this”[tok,rem]=strtok(“14*27+31”,“+-*/”)⇒        tok=14 rem=*27+31

详见: 指数,strsplit,strchr,isspace.

 
:[cstr] = strsplit (str)
:[cstr] = strsplit (str,del)
:[cstr] = strsplit (…,name,value)
:[cstr,比赛] = strsplit (…)

拆分字符串str使用指定的分隔符delandrew一个子字符串的单元字符串数组。

如果未指定分隔符,字符串将在空白处拆分{“”,“\f”,“\n”,“\r”,“\t”,“\v”}否则,分隔符,del必须是字符串或字符串的元胞数组。默认情况下,输入字符串中的连续分隔符s在一次拆分中折叠成一个结果。

支持name/value成对的参数为:

  • 折叠分隔符其值可能为真的(默认)或错误的.
  • 分隔符类型其值可能为易于理解的(默认)或“正则表达式”.一个简单的分隔符将文本完全与所写内容相匹配。否则,中列出的正则表达式的语法正则表达式使用。

可选的第二输出,比赛,返回在原始字符串中匹配的分隔符。

带有简单分隔符的示例:

strsplit(“a b c”)⇒          {[1,1]=a[1,2]=b[1,3]=c}strsplit(“a,b,c”,“,”)⇒          {[1,1]=a[1,2]=b[1,3]=c}strsplit(“a foo b,bar c”,{“”,“,”,“foo”,“bar”})⇒          {[1,1]=a[1,2]=b[1,3]=c}strsplit(“a,,,b,c”,{“,”,“},”collapsedenders“,false)⇒          {[1,1]=a[1,2]=[1,3]=b[1,4]=[1,5]=c}

带有正则表达式分隔符的示例:

strsplit(“a foo b,bar c”,',|\s|foo|bar',…”分隔符类型“,”正则表达式“)⇒{[1,1]=a[1,2]=b[1,3]=c}strsplit(“a,,,b,c”,'[,]',“collapsedinesters”,false,…“delimittertype”,“regularexpression”)⇒{[1,1]=a[1,2]=[1,3]=b[1,4]=[1,5]=c}strsplit(“a,\t,b,c”,{',','\s'},“分隔符类型”,“正则表达式”)⇒{[1,1]=a[1,2]=b[1,3]=c}strsplit(“a,\t,b,c”,{',','','\t’},“collapsedimitters”,false)⇒{[1,1]=a[1,2]=[1,3]=[1,4]=b[1,5]=[1,6]=c}

详见: 奥斯特分裂,strjoin,strtok,正则表达式.

 
:[cstr] = 奥斯特分裂 (s,九月)
:[cstr] = 奥斯特分裂 (s,九月,strip_empty)

拆分字符串s使用一个或多个分离器九月并返回字符串的元胞数组。

连续的分隔符和边界处的分隔符会导致空环,除非strip_empty是真的。的默认值strip_empty是错误的。

二维字符数组在分隔符处和原始列边界处进行拆分。

用例

奥斯特斯普利特(“a,b,c”,“,”)⇒          {[1,1]=a[1,2]=b[1,3]=c}奥斯特分裂([“a,b”;“cde”],“,”)⇒          {[1,1]=a[1,2]=b[1,3]=cde}

详见: strsplit,strtok.

 
:str= strjoin (cstr)
:str= strjoin (cstr,分隔符)

连接单元字符串数组的元素,cstr,转换为单个字符串。

如果没有分隔符的元素cstr被一个空间隔开。

如果分隔符指定为字符串,则使用该字符串连接数组字符串数组。支持转义序列。

如果分隔符是长度小于1的数组字符串数组cstr,那么的元素cstr通过交错的单元串元素来连接分隔符。不支持转义序列。

strjoin({'Octave','Cilab','Rush','Yorick'},'*')⇒ 'octave*Scilab*Lush*Yorick'

详见: strsplit.


版权所有 © 2024 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号