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

  • 原创
  • |
  • 浏览:2557
  • |
  • 更新:

    经常看到一些高手用String开头的函数来处理一些问题,如“批量到处图片”、“批量抓取图片”、文本text等问题。

    所以,这里,我和大家一起学习一下Mathematica在字符串上面的问题的处理方法。

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

工具/原料

  • 电脑
  • Mathematica

方法/步骤

  1. 1

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

        例如:

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

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

        换成完整写法是:

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

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

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

    Mathematica基础——字符串操作初步
    Mathematica基础——字符串操作初步
    Mathematica基础——字符串操作初步
  2. 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. 3

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

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

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

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

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

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

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

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

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

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

    Mathematica基础——字符串操作初步
    Mathematica基础——字符串操作初步
    Mathematica基础——字符串操作初步
    Mathematica基础——字符串操作初步
  4. 3
    该信息未经许可获取自百度经验
  5. 4

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

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

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

    Mathematica基础——字符串操作初步
    Mathematica基础——字符串操作初步
  6. 5

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

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

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

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

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

注意事项

  • 这里面介绍了六个函数,但都是比较简单的!深入学习的话,以后再学习。
  • 有一些特殊字符串,要谨慎对待!如“换行”符!
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部