Mathematica基础——字符串操作初步

2025-09-24 05:57:27

1、    如果需要把不同的字符串合并起来,就需要用到StringJoin函数。而StringJoin还可以简写为“<>”。

    例如:

"金刚" <> "ABCD" <> "野狼"

    运行结果是:金刚ABCD野狼。

    换成完整写法是:

StringJoin["金刚" , "ABCD" , "野狼"]

    而StringJoin在运行的时候,会自动地忽略所有的列表:

StringJoin[{{{{"金刚" }, "ABCD"} }, "野狼"}]

Mathematica基础——字符串操作初步

Mathematica基础——字符串操作初步

Mathematica基础——字符串操作初步

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。

Mathematica基础——字符串操作初步

Mathematica基础——字符串操作初步

Mathematica基础——字符串操作初步

3、    如果要分割字符串,需要用到StringSplit,这其实是StringJoin的逆向过程。StringSplit如果没有特别限制,会默认在空格、换行符处分割字符串:

StringSplit["按模式匹配 分割字符串"]

StringSplit["按模式\n匹配 分割字符串"]

StringSplit["按模式\\\\n匹配 分割字符串"]

    如果要在特定位置分割,需要加以限制:

StringSplit["按模式匹配 分割字符串","匹"]

StringSplit["按模式\\\n匹配 分割字符串","\\"]

StringSplit["按模式\n匹配 分割字符串","\n"]

    可是不知道为什么下面这段代码不能运行:

StringSplit["按模式\\\\\\\\\\n匹配 分割字符串","\"]

Mathematica基础——字符串操作初步

Mathematica基础——字符串操作初步

Mathematica基础——字符串操作初步

Mathematica基础——字符串操作初步

4、    要从字符串里面提取某个字符,可以使用StringPart,比如:

StringPart["按模式匹配 分割字符串 ", 5],第五个字符是"配";

StringPart["按模式匹配 分割字符串 ", 6],第五个字符是空格。

Mathematica基础——字符串操作初步

Mathematica基础——字符串操作初步

5、    用StringTake可以提取某一段字符:

StringTake["按模式匹配 分割字符串 ", 7]

    用StringDrop可以消去某一段字符:

StringDrop["按模式匹配 分割字符串 ", -3]

Mathematica基础——字符串操作初步

Mathematica基础——字符串操作初步

Mathematica基础——字符串操作初步

Mathematica基础——字符串操作初步

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢