Mathematica基础——字符串操作初步
1、 如果需要把不同的字符串合并起来,就需要用到StringJoin函数。而StringJoin还可以简写为“<>”。 例如:"金刚" <> "ABCD" <> "野狼" 运行结果是:金刚ABCD野狼。 换成完整写法是:StringJoin["金刚" , "ABCD" , "野狼"] 而StringJoin在运行的时候,会自动地忽略所有的列表:StringJoin[{{{{"金刚" }, "ABCD"} }, "野狼"}]
2、 如果需要测量一个字符串的字符数目,可以用StringLength,例如:StringLength["π"]StringLength["Pi"] 注意,StringLength只能测出引号里面的字符,对于引号外面的部分不起作用:StringLength["Sin<>"<>"x y"](空格也是一个字符) 但是,有一点很奇怪,如果在字符串里面有换行符“\n”,测量结果不太对劲:StringLength["Sin<>"<>"x \ny"] 原来,Mathematica把“\n”视为一个字符。如果有多条“\”,Mathematica会把两个“\”——“\”视为一个字符;如果“\”的数目是偶数个,那么就会把“n”视为单独的字符;如果“\”的数目是奇数个,那么就会把最后的“\n”视为一个字符:StringLength["x\ny"]StringLength["x\ny"]StringLength["x\\ny"] 上面三行代码的运行结果是:3、4、4。
3、 如果要分割字符串,需要用到StringSplit,这其实是Str坡纠课柩ingJoin的逆向过程。StringSplit如磨营稼刻果没有特别限制,会默认在空格、换行符处分割字符串:StringSplit["按模式匹配 分割字符串"]StringSplit["按模式\n匹配 分割字符串"]StringSplit["按模式\\n匹配 分割字符串"] 如果要在特定位置分割,需要加以限制:StringSplit["按模式匹配 分割字符串","匹"]StringSplit["按模式\\n匹配 分割字符串","\"]StringSplit["按模式\n匹配 分割字符串","\n"] 可是不知道为什么下面这段代码不能运行:StringSplit["按模式\\\\\n匹配 分割字符串","\"]
4、 要从字符串里面提取某个字符,可以使用StringPart,比如:StringPart["按模式匹配 分割字符串 ", 5],第五个字符是"配";StringPart["按模式匹配 分割字符串 ", 6],第五个字符是空格。
5、 用StringTake可以提取某一段字符:StringTake["按模式匹配 分割字符串 ", 7] 用StringDrop可以消去某一段字符:StringDrop["按模式匹配 分割字符串 ", -3]