字符串的运算
Mathematica 提供了各种字符串运算函数,这些函数的大部分基本出发点是将字符串当作一个字符序列,许多函数都与列表的运算类似.
完全字符串的运算.
用

可以将任意数目的字符串相连接.
| Out[1]= |  |
| Out[2]= |  |
| Out[3]= |  |
取出或截掉子串.
字符串处理中的 StringTake 和 StringDrop 与集合运算中的 Take 和 Drop 类似. 与 Take 和 Drop 相似,它们用 Mathematica 标准的排序方式,例如,当n为负数时是从字符串的最后开始计数. 注意,字符串中的第一个字符的位置是
.
| Out[4]= |  |
从

中取出前5个字符.
| Out[5]= |  |

中的第5个字符.
| Out[6]= |  |
| Out[7]= |  |
在一个字符串中的插入.
StringInsert[s, snew, n] 产生第 n
个字符是 snew 的第一个字符的字符串.
产生一个新字符串,它的第4个位置是

的第一个字符.
| Out[8]= |  |
| Out[9]= |  |

被重复插入原字符串的指定位置.
| Out[10]= |  |
| Out[11]= |  |
| StringReplacePart[s,snew,{m,n}] | 用字符串 snew 替换 s 中从 m 到 n 的字符 |
| StringReplacePart[s,snew,{{m1,n1},{m2,n2},...}] | 用 snew 多次在 s 中进行替换 |
| StringReplacePart[s,{snew1,snew2,...},{{m1,n1},{m2,n2},...}] | 用对应的 替换 s 中的子串 |
替换字符串的某一部分.
用

替换从2到6的字符.
| Out[12]= |  |
用字符串

进行了两次替换.
| Out[13]= |  |
| Out[14]= |  |
找出子字符串的位置.
用 StringPosition 能给出一个字符串中一个子串出现的位置. StringPosition 的返回值是一个列表,列表中的每一个元素对应于子串的一次出现,它指出了子串的起始和结束位置. 这些列表的形式与 StringTake、StringDrop 和 StringReplacePart 中的形式一致.
这里给出子串

出现位置的列表.
| Out[15]= |  |
这里仅给出第一个

出现的位置.
| Out[16]= |  |
这里给出了字符串

和

出现的位置. 默认地,它们在位置上有重叠.
| Out[17]= |  |
| Out[18]= |  |
子串的检测.
| Out[19]= |  |
根据规则替换子串.
用字符串

替换所有的

.
| Out[20]= |  |
| Out[21]= |  |
第一个

没有被替换,因为它与

重复.
| Out[22]= |  |
StringReplace 可以对一个字符串从左到右扫描进行可能的替换,并返回得到的新字符串. 然而,有时候,查看所有可能的单一替换的结果是有用的. 用户可以使用 StringReplaceList 获得所有结果的列表.
这里给出替换每个

得到的结果列表.
| Out[23]= |  |
| Out[24]= |  |
字符串分组.
| Out[25]= |  |
在每个

位置上分组.
| Out[26]= |  |
| Out[27]= |  |
替换分界符来对字符串进行分组.
在每个

分界符位置上插入

.
| Out[28]= |  |
| Sort[{s1,s2,s3,...}] | 对字符串列表排序 |
对字符串排序.
| Out[29]= |  |
Out[30]//FullForm= |
| |  |
| Out[31]= |  |