str= substr (s,offset)¶
(s,offset,len)¶
返回的子字符串s从字符号开始offset并且是len字符长。
偏移的位置编号以1开头。如果offset为负,提取从字符串末尾开始。
如果len被省略,子字符串延伸到的末尾s的负值len提取到内部len字符串末尾的字符
示例:
substr ("This is a test string", 6, 9)
⇒ "is a test"
substr ("This is a test string", -11)
⇒ "test string"
substr ("This is a test string", -11, -7)
⇒ "test"
此函数是以Perl中的等效函数命名的。
[tok,rem] = strtok (str)¶
[tok,rem] = strtok (str,delim)¶
查找字符串中的所有字符str最多(但不包括)字符串中的第一个字符delim.
str也可以是字符串的元胞数组,在这种情况下,函数对每个单独的字符串执行,并返回令牌和维护器的元胞数组。
忽略前导分隔符。如果delim未指定,则假定为空白。
如果rem是指定的,它包含字符串的剩余部分,从第一个分隔符开始。
示例:
strtok ("this is the life")
⇒ "this"
[tok, rem] = strtok ("14*27+31", "+-*/")
⇒
tok = 14
rem = *27+31
[cstr] = strsplit (str)¶
[cstr] = strsplit (str,del)¶
[cstr] = strsplit (…,name,value)¶
[cstr,matches] = strsplit (…)¶
拆分字符串str使用指定的分隔符delandrew一个子字符串的单元字符串数组。
如果未指定分隔符,字符串将在空白处拆分{" ", "\f", "\n", "\r", "\t", "\v"}否则,分隔符,del必须是字符串或字符串的元胞数组。默认情况下,输入字符串中的连续分隔符s在一次拆分中折叠成一个结果。
支持name/value成对的参数为:
true(默认)或false.
"simple"(默认)或"regularexpression".一个简单的分隔符将文本完全与所写内容相匹配。否则,中列出的正则表达式的语法regexp使用。可选的第二输出,matches,返回在原始字符串中匹配的分隔符。
带有简单分隔符的示例:
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", {",", " "}, "collapsedelimiters", false)
⇒
{
[1,1] = a
[1,2] =
[1,3] = b
[1,4] =
[1,5] = c
}
带有正则表达式分隔符的示例:
strsplit ("a foo b,bar c", ',|\s|foo|bar', ...
"delimitertype", "regularexpression")
⇒
{
[1,1] = a
[1,2] = b
[1,3] = c
}
strsplit ("a,,b, c", '[, ]', "collapsedelimiters", false, ...
"delimitertype", "regularexpression")
⇒
{
[1,1] = a
[1,2] =
[1,3] = b
[1,4] =
[1,5] = c
}
strsplit ("a,\t,b, c", {',', '\s'}, "delimitertype", "regularexpression")
⇒
{
[1,1] = a
[1,2] = b
[1,3] = c
}
strsplit ("a,\t,b, c", {',', ' ', '\t'}, "collapsedelimiters", false)
⇒
{
[1,1] = a
[1,2] =
[1,3] =
[1,4] = b
[1,5] =
[1,6] = c
}
[cstr] = ostrsplit (s,sep)¶
[cstr] = ostrsplit (s,sep,strip_empty)¶
拆分字符串s使用一个或多个分离器sep并返回字符串的元胞数组。
连续的分隔符和边界处的分隔符会导致空环,除非strip_empty为真。的默认值strip_empty是错误的。
二维字符数组在分隔符处和原始列边界处进行拆分。
用例
ostrsplit ("a,b,c", ",")
⇒
{
[1,1] = a
[1,2] = b
[1,3] = c
}
ostrsplit (["a,b" ; "cde"], ",")
⇒
{
[1,1] = a
[1,2] = b
[1,3] = cde
}
str= strjoin (cstr)¶
str= strjoin (cstr,delimiter)¶
连接单元字符串数组的元素,cstr,转换为单个字符串。
如果没有delimiter的元素cstr被一个空间隔开。
如果delimiter指定为字符串,则使用该字符串连接元胞字符串数组。支持转义序列。
如果delimiter是长度小于1的元胞字符串数组cstr,那么的元素cstr通过交错的单元串元素来连接delimiter。不支持转义序列。
strjoin ({'Octave','Scilab','Lush','Yorick'}, '*')
⇒ 'Octave*Scilab*Lush*Yorick'
详见: strsplit.
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2