字符串运算符

打印

字符串运算符


本节列出了将字符串作为参数的运算符。此外,还将处理从其他值生成字符串的运算符。


基本字符串操作


字符串串联:<字符串1>+<字符串2>




描述:这个+运算符还可以用于将一个字符串附加到另一个字符串。这样一个操作的结果又是一个字符串。如果在加法操作中至少有一个参数是字符串,则另一个参数将自动转换为其值的字符串表示。


代码结果
“辛迪”+“脚本”“CindyScript”
“四加三等于”+(4+3)“四加三等于七”
""+(4+3)"7"




另请参见:这个+运算符还用于添加常用数值。为此,请参阅算术运算符.



转换为字符串:文本(<expr>)




描述:操作员文本(<expr>)计算表达式<出口>并将结果转换为字符串表示。




字符串长度:长度(<string>)




描述:此运算符返回字符串中的字符数。



例子: 长度(“CindyScript”)计算为整数11.


另请参阅: 列表与线性代数




提取子字符串:子字符串(<string>,<int1>,<int 2>)




描述:此运算符返回的子字符串<字符串>开始于由整数索引的字符之后<int1>并以索引的字符结尾<整数2>.



例子: 子字符串(“abcdefg”,3,6)计算为字符串“定义”.





搜索事件:索引(<string1>,<string2>)




描述:此运算符搜索第一次出现的<字符串2>在里面<字符串1>。返回第一次出现的索引。如果<字符串2>不是的子字符串<字符串1>,然后是值0返回。


代码结果
indexof(“CindyScript”,“i”)2
索引(“CindyScript”,“y”)5
索引(“CindyScript”,“z”)0





搜索事件:索引(<string1>、<string2>、<int>)




描述:此运算符搜索第一次出现的<字符串2>在里面<字符串1> 在索引之后。将返回第一个此类事件的索引。如果<字符串2>不会出现在<字符串1>索引之后.,然后是值0返回。


代码结果
索引(“CindyScript”,“i”,1)2
索引(“CindyScript”,“i”,3)9
索引(“CindyScript”,“i”,10)0



高级字符串操作



剖析字符串:标记化(<string>,<expr>)




描述:此运算符对于解析输入非常有用。它创建的子字符串列表<字符串>.第二个参数<经验>必须是字符串或字符串列表。如果<出口>是一个字符串,则运算符在<字符串>。这些事件用作将<string>分解为片段列表的标记。

如果<expr>是字符串列表,则生成表示<字符串>通过列表中的标记递归执行。

标记化通常将数字的字符串表示转换为数字对象。这可能会导致信息丢失。要禁用此行为,请使用自动转换修改器并将其设置为.


代码结果
标记化(“一:二..三:四”,“:”)[“一”、“二..三”、“四”]
标记化(“一:二..三:四”,“.”)[“一:二”、“”、“三:四”]
标记化(“一:二..三:四”,“..”)[“一:二”,“三:四”]
标记化(“一:二..三:四”,[“.”,“:”])[[“一”、“二”]、[“”]、[[“三”、“四”]]
标记化(“一:二..三:四”,[“..”,“:”])[[“一”、“二”]、[“三”、“四”]]
标记化(“7777777777”,“:”)[77777777777777776]
标记化(“77777777777777777”,“:”,自动转换->false)[77777777777777777]







串中替换:替换(<string1>、<string2>和<string3>)




描述:此运算符将<string1>中出现的所有(!)次<string2>替换为<string3>。

这个操作符对于创建在所谓的Lindenmeyer系统中使用的文本替换系统非常有用。


代码结果
替换(“一:二..三:四”,“o”,“XXX”)“XXXne:twXXX..three:fXXXur”
替换(“F”、“F”、“F+F”)“F+F”
替换(“F+F”、“F”、”F+F“)“F+F+F+F+F”






串中替换:替换(<string>,<list>)




描述:这个操作符与前一个操作符非常相似。<列表>包含替换对列表,所有此类替换同时应用于<字符串>.


代码结果
替换(“XYX”,[[“X”,“one”],[“Y”,“two”]])“一二一”






分析字符串:解析(<string>)




描述:此运算符将字符串解析为表达式并计算此表达式。此运算符在处理来自构造中文本字段的用户输入时特别有用。


代码结果
解析(“3+7”)10




代码片段

text=“sin(x)+cos(x)”;f(x):=解析(文本);


定义函数f(x)将来正弦(x)+余弦(x).




猜测数字的良好表示:猜测(<数字>)




描述:这一功能强大的操作符将在本节中详细描述微积分。它采用浮点表示形式的数值表达式,并尝试将其转换为生成该浮点数字的高精度数学表达式。然后将此表达式表示为字符串。


代码结果
猜测(8.125)"65/8"
猜测(0.774596669241483)“平方码(3/5)”




另请参见: 微积分




将数字格式化为指定精度:格式(<number>,<int>)




描述:此运算符将数字作为第一个参数,并将指定小数点后位数的整数作为第一个参数。将生成一个字符串,该字符串与指定精度以下的数字相对应。最多可输入14位数字。如果format参数是一个对象列表,那么format语句将递归地应用于每个对象。


代码结果
格式(sqrt(2),4)"1.4142"
格式(pi,14)"3.14159265358979"
格式([sin(30°),cos(30°)],3)[0.5,0.866]



警告:生成format语句只应用于创建格式化的输出元素。格式化后的值将始终是*字符串*,因此通常不是算术运算的有效对象。以下示例说明了这一点:

代码结果
格式(sqrt(2),4)+格式(sqrt(2),4)"1.41421.4142"








字符串比较和排序



与实数一样,字符串也接受总排序。因此,可以使用运算符对它们进行比较>,<,>=,<=,==、和!=。请参阅布尔算子为了使用这些关系。

字符串的顺序是字典顺序。因此例如,

“a”<“abd”<“ab”<“b”<“blue”<“burth”<“xxx”



列表排序:排序(<list>)


列表排序:排序(<list>,<expr>)


列表排序:排序(<list>、<var>、<expr>)




描述:的各种版本分类-运算符可用于对包含字符串值的列表进行排序。排序顺序通常被认为是单词的字典顺序。或者,可以指定用户定义的排序函数,例如字符串的长度。



代码结果
排序([“一”、“二”、“三”、“四”、“五”])[“五”、“四”、“一”、“三”、“二”]
排序([“一”,“二”,“三”,“四”,“五”],长度(#))[“一”、“二”、“四”、“五”、“三”]





另请参见: 列表和线性代数







访问和替换字符


索引运算符:<字符串>_<int>




描述:中缀运算符_访问列表字段的,也可以用于访问字符串中特定位置的字符。可以使用此运算符返回和设置字符。


代码结果
“CindyScript”_5“y”
“CindyScript”_12未定义



评估代码片段后

a=“CindyScript”;a_5=“erella”;


变量包含字符串“灰姑娘脚本”.

此页面的参与者:冯·盖格恩科尔滕坎普.
页面上次修改时间:2015年2月9日星期一[20:47:31 UTC]冯·盖格恩.

本页面上的内容根据许可证.


菜单