regex - 将字符串附加到由一组符号分隔的每组子字符串

标签 regex matlab

假设我有字符串

Newton = 'kg*m/s^2'

我需要它是:

NewtonMupad = 'unit::kg*unit::m/unit::s^2'

是否有一种简单的方法来检测每个物理单元并将 unit:: 附加到它? 可以假设每个单元都由 /< 分隔* 或指数 ^2^3

现在我使用了几个正则表达式,比如

x = regexp(Newton ,'*','split')
y = regexp(Newton ,'/','split')
z = regexp(Newton ,'^','split')

而且我能够通过循环创建我需要的字符串。但我想知道是否有使用 Matlab 的更简单、更快速的解决方案?

最佳答案

您可以使用 regexprep :

>> Newton = 'kg*m/s^2'
>> regexprep(Newton,'(([a-zA-Z]+)(*|/|\^|$))', 'unit::$1')

ans = 

unit::kg*unit::m/unit::s^2

关于regex - 将字符串附加到由一组符号分隔的每组子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31654138/

相关文章:

php - 6 .htaccess 重写 : Remove index. html,删除 .html,强制非 www,强制尾部斜线

regex - 格式 XX-XXXX 的正则表达式

c# - 编写适当的正则表达式以允许数字和字母和数字的组合混合

java - 不使用 String.split() 分割字符串 - 并返回分隔符

matlab - 如何加速包含 kronecker 产品的 for 循环?

matlab - MATLAB 中隐式函数 f(x,y,z)=0 的轮廓

正则表达式——替换特定字符之前的所有空格

image - 特征匹配难度

matlab - Octave (matlab),如何在不显示的情况下创建绘图?

excel - Matlab 数据预处理和动态结构分配