想象一下,我有字符串
Newton = 'kg*m/s^2'
我需要它:
NewtonMupad = 'unit::kg*unit::m/unit::s^2'
是否有一种简单的方法来检测每个物理单元并将unit::
附加到它?可以假设每个单元都由/
,{{1}分隔开来}或指数*
或^2
。
现在我使用了几个正则表达式,比如
^3
我能够通过循环创建我需要的字符串。但我想知道使用Matlab是否有更简单,更快速的解决方案?
答案 0 :(得分:4)
您可以使用regexprep
:
>> Newton = 'kg*m/s^2'
>> regexprep(Newton,'(([a-zA-Z]+)(*|/|\^|$))', 'unit::$1')
ans =
unit::kg*unit::m/unit::s^2